diff options
Diffstat (limited to 'target/linux/rb532/patches-2.6.28/009-korina_disable_napi_on_close_and_restart.patch')
-rw-r--r-- | target/linux/rb532/patches-2.6.28/009-korina_disable_napi_on_close_and_restart.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/rb532/patches-2.6.28/009-korina_disable_napi_on_close_and_restart.patch b/target/linux/rb532/patches-2.6.28/009-korina_disable_napi_on_close_and_restart.patch new file mode 100644 index 0000000000..4eec6fd05d --- /dev/null +++ b/target/linux/rb532/patches-2.6.28/009-korina_disable_napi_on_close_and_restart.patch @@ -0,0 +1,33 @@ +Without this the driver will crash when the NIC is being restarted. + +Signed-off-by: Phil Sutter <n0-1@freewrt.org> +--- + drivers/net/korina.c | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/drivers/net/korina.c b/drivers/net/korina.c +index e30c2f4..65b8487 100644 +--- a/drivers/net/korina.c ++++ b/drivers/net/korina.c +@@ -904,6 +904,8 @@ static int korina_restart(struct net_device *dev) + + korina_free_ring(dev); + ++ napi_disable(&lp->napi); ++ + ret = korina_init(dev); + if (ret < 0) { + printk(KERN_ERR DRV_NAME "%s: cannot restart device\n", +@@ -1070,6 +1072,8 @@ static int korina_close(struct net_device *dev) + + korina_free_ring(dev); + ++ napi_disable(&lp->napi); ++ + free_irq(lp->rx_irq, dev); + free_irq(lp->tx_irq, dev); + free_irq(lp->ovr_irq, dev); +-- +1.5.6.4 + + |