netdev
[Top] [All Lists]

Linux Oops on skb_release_data()

To: netdev@xxxxxxxxxxx
Subject: Linux Oops on skb_release_data()
From: Lewis Adam-CAL022 <Adam.Lewis@xxxxxxxxxxxx>
Date: Mon, 7 Jun 2004 16:00:34 -0500
Sender: netdev-bounce@xxxxxxxxxxx
Hi,
 
I've written a WLAN driver that I am trying to debug now.  The problem occurs when I send lots of pings, really fast and force the driver to fragment the L3 and above payload.  It will always oops after about 400 pings or so.  When I run the oops through ksymoops, it always points me to skb_release_data(), ultimately the last thing it shows is __free_pages+c/50.
 
I originally thought it was one of my calls to dev_free_skb() on the TX side, but I have since stubbed those out one-by-one to the point where I never call it in my code.  Hence I must believe that it is Linux that is calling it after I pass data up via netif_rx(). 
 
My first guess is that the RF on the WLAN might be passing me garbage, so I hard coded some sanity checks in (this is easy since I'm only doing ARP and ping).  Still it crashes, so I am at a loss.  It looks like what I am passing up to the upper layers is good.  The only other variable I can point to is that it seems to do this more when in bridge mode (e.g. I tie eth0 and wlan0 together).  When I do this from wlan0 to wlan0 on (on two stations) it seems to not occur. 
 
Any ideas?
 
Thanks,
Adam
<Prev in Thread] Current Thread [Next in Thread>