Re: Revert "gro: Fix legacy path napi_complete crash",

From: Herbert Xu
Date: Thu Mar 26 2009 - 05:09:05 EST


On Wed, Mar 25, 2009 at 11:01:49PM +0100, Ingo Molnar wrote:
>
> Sure, can try that. Probably the best would be if you sent me a
> combo patch with the precise patch you meant me to try (there were
> several patches, i'm not sure which one is the 'previous' one) plus
> the forcedeth debug enable change as well.

Sure, here's the patch to do both.

diff --git a/net/core/dev.c b/net/core/dev.c
index e3fe5c7..2a7f6b3 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2588,9 +2588,10 @@ static int process_backlog(struct napi_struct *napi, int quota)
local_irq_disable();
skb = __skb_dequeue(&queue->input_pkt_queue);
if (!skb) {
+ list_del(&napi->poll_list);
+ clear_bit(NAPI_STATE_SCHED, &napi->state);
local_irq_enable();
- napi_complete(napi);
- goto out;
+ break;
}
local_irq_enable();

@@ -2599,7 +2600,6 @@ static int process_backlog(struct napi_struct *napi, int quota)

napi_gro_flush(napi);

-out:
return work;
}

diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index b8251e8..101e552 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -64,7 +64,7 @@
#include <asm/uaccess.h>
#include <asm/system.h>

-#if 0
+#if 1
#define dprintk printk
#else
#define dprintk(x...) do { } while (0)

Thanks,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/