[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#652056: [3.0 -> 3.1.1 regression] [ipw2100] BUG at net/core/dev.c:3719! (__napi_complete called with gro_list nonempty)

tags 652056 + patch moreinfo

AymanHotmail wrote:

>> Is it also a kernel BUG at [...]/net/core/dev.c:3719, like the
>> original one, and is the backtrace the same?
> Well according to Image_02, it give a kernel BUG at
> [...]/net/core/dev.c:3831 , and the backtrace is the same.

Thanks much.  Can you try this patch (against a sid or upstream
3.2.1 kernel)?

See [1] for instructions.

[1] http://kernel-handbook.alioth.debian.org/ch-common-tasks.html

commit b189e810619a
Author: françois romieu <romieu@fr.zoreil.com>
Date:   Sun Jan 8 13:41:33 2012 +0000

    8139cp: fix missing napi_gro_flush.

    The driver uses __napi_complete and napi_gro_receive. Without it, the
    driver hits the BUG_ON(n->gro_list) assertion hard in __napi_complete.

    Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
    Tested-by: Marin Glibic <zhilla2@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c
index cc6b391479ca..abc79076f867 100644
--- a/drivers/net/ethernet/realtek/8139cp.c
+++ b/drivers/net/ethernet/realtek/8139cp.c
@@ -563,6 +563,7 @@ rx_next:
 		if (cpr16(IntrStatus) & cp_rx_intr_mask)
 			goto rx_status_loop;
+		napi_gro_flush(napi);
 		spin_lock_irqsave(&cp->lock, flags);
 		cpw16_f(IntrMask, cp_intr_mask);

Reply to: