summaryrefslogtreecommitdiffstats
path: root/target/linux/rb532/patches-2.6.28/011-korina_do_schedule_napi_after_testing_it.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/rb532/patches-2.6.28/011-korina_do_schedule_napi_after_testing_it.patch')
-rw-r--r--target/linux/rb532/patches-2.6.28/011-korina_do_schedule_napi_after_testing_it.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/target/linux/rb532/patches-2.6.28/011-korina_do_schedule_napi_after_testing_it.patch b/target/linux/rb532/patches-2.6.28/011-korina_do_schedule_napi_after_testing_it.patch
new file mode 100644
index 000000000..c5e1b9a40
--- /dev/null
+++ b/target/linux/rb532/patches-2.6.28/011-korina_do_schedule_napi_after_testing_it.patch
@@ -0,0 +1,18 @@
+The called netif_rx_schedule() does all the work for us:
+- it checks the return value of netif_rx_schedule_prep() and
+- if everything is ok calls __netif_rx_schedule().
+Before this change, the driver received absolutely nothing.
+
+Signed-off-by: Phil Sutter <n0-1@freewrt.org>
+---
+--- a/drivers/net/korina.c 2009-01-19 23:26:19.000000000 +0100
++++ b/drivers/net/korina.c 2009-01-19 23:27:06.000000000 +0100
+@@ -330,7 +330,7 @@
+
+ dmas = readl(&lp->rx_dma_regs->dmas);
+ if (dmas & (DMA_STAT_DONE | DMA_STAT_HALT | DMA_STAT_ERR)) {
+- netif_rx_schedule_prep(dev, &lp->napi);
++ netif_rx_schedule(dev, &lp->napi);
+
+ dmasm = readl(&lp->rx_dma_regs->dmasm);
+ writel(dmasm | (DMA_STAT_DONE |