Re: Help: major pppoe regression since 2.6.35 (panic on first pppconection)?

From: Joel Soete
Date: Sat Dec 25 2010 - 08:51:59 EST


Hello Jarek,

On 12/25/2010 12:10 PM, Jarek Poplawski wrote:
On Fri, Dec 24, 2010 at 04:13:25PM +0100, Jarek Poplawski wrote:
On Fri, Dec 24, 2010 at 11:22:25AM +0000, Joel Soete wrote:
Hello Jarek,
Hi Joel,

[snip]

Alas the list rejected your message (try to limit it to ~200kb next
time).

Ah ok I will take care next ;<)

Anyway, it looks like the sundance driver is the main guilty. The
patch below removes one obvious bug but there could be something more.
Please, apply this one and my previous debugging patch to the clean
2.6.37-rc7. (If there're still warnings the first ~20kb should do.)

Thanks,
Jarek P.
---

diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
index 3ed2a67..b409d7e 100644
--- a/drivers/net/sundance.c
+++ b/drivers/net/sundance.c
@@ -1016,7 +1016,7 @@ static void init_ring(struct net_device *dev)

/* Fill in the Rx buffers. Handle allocation failure gracefully. */
for (i = 0; i< RX_RING_SIZE; i++) {
- struct sk_buff *skb = dev_alloc_skb(np->rx_buf_sz);
+ struct sk_buff *skb = dev_alloc_skb(np->rx_buf_sz + 2);
np->rx_skbuff[i] = skb;
if (skb == NULL)
break;
@@ -1407,7 +1407,7 @@ static void refill_rx (struct net_device *dev)
struct sk_buff *skb;
entry = np->dirty_rx % RX_RING_SIZE;
if (np->rx_skbuff[entry] == NULL) {
- skb = dev_alloc_skb(np->rx_buf_sz);
+ skb = dev_alloc_skb(np->rx_buf_sz + 2);
np->rx_skbuff[entry] = skb;
if (skb == NULL)
break; /* Better luck next round. */

I don't have any more warnings :<)

Awesome job.

Thanks a lot for help and I wish you a Happy new year,
J.
--
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/