]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
another patch for .27
authorGreg Kroah-Hartman <gregkh@suse.de>
Fri, 9 Jan 2009 00:53:56 +0000 (16:53 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 9 Jan 2009 00:53:56 +0000 (16:53 -0800)
queue-2.6.27/drivers-net-starfire-fix-napi-poll-weight-handling.patch [new file with mode: 0644]
queue-2.6.27/series

diff --git a/queue-2.6.27/drivers-net-starfire-fix-napi-poll-weight-handling.patch b/queue-2.6.27/drivers-net-starfire-fix-napi-poll-weight-handling.patch
new file mode 100644 (file)
index 0000000..c90d977
--- /dev/null
@@ -0,0 +1,38 @@
+From 9a3de25544dadab1971847f28f33b1cd0d1770a6 Mon Sep 17 00:00:00 2001
+From: Jarek Poplawski <jarkao2@gmail.com>
+Date: Tue, 16 Dec 2008 15:42:20 -0800
+Subject: drivers/net: starfire: Fix napi ->poll() weight handling
+
+From: Jarek Poplawski <jarkao2@gmail.com>
+
+commit 9a3de25544dadab1971847f28f33b1cd0d1770a6 upstream.
+
+starfire napi ->poll() handler can return work == weight after calling
+netif_rx_complete() (if there is no more work). It is illegal and this
+patch fixes it.
+
+Reported-by: Alexander Huemer <alexander.huemer@sbg.ac.at>
+Tested-by: Alexander Huemer <alexander.huemer@sbg.ac.at>
+Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Cc: Rafael J. Wysocki <rjw@sisk.pl>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/starfire.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/drivers/net/starfire.c
++++ b/drivers/net/starfire.c
+@@ -1509,6 +1509,11 @@ static int __netdev_rx(struct net_device
+               desc->status = 0;
+               np->rx_done = (np->rx_done + 1) % DONE_Q_SIZE;
+       }
++
++      if (*quota == 0) {      /* out of rx quota */
++              retcode = 1;
++              goto out;
++      }
+       writew(np->rx_done, np->base + CompletionQConsumerIdx);
+  out:
index 79f6a77866dd11e40aee90b1e39a74e5ba474c87..56b9d36c37140e07f7960b72f9dee3c375b1ba13 100644 (file)
@@ -14,3 +14,4 @@ scsi-aacraid-disable-dell-percraid-quirk-on-adaptec-2200s-and-2120s.patch
 cciss-fix-problem-that-deleting-multiple-logical-drives-could-cause-a-panic.patch
 alsa-hda-add-missing-terminators-in-patch_sigmatel.c.patch
 parisc-disable-up-optimized-flush_tlb_mm.patch
+drivers-net-starfire-fix-napi-poll-weight-handling.patch