Subject: defxx: skb_push() failing?

From: David Oostdyk <[email-masked]>
Date: Tue, 26 Mar 2013 10:29:34 -0400

Hello,

In dfx_xmt_queue_pkt() in defxx.c, there is a skb_push(3) call which 
makes room for 3 packet request header bytes.  There is some discussion 
in the driver explaining why those three bytes will be available.  I 
have an old FDDI card that I'm trying to bring up:

05:05.0 FDDI network controller: Digital Equipment Corporation 
PCI-to-PDQ Interface Chip [PFI] (rev 02)

Most skbuffs that come through dfx_xmit_queue_pkt() have 11 bytes 
between skb->head and skb->data.  On the other hand, at almost exactly 
60-second intervals, an skb arrives that has zero bytes between 
skb->head and skb->data.  This normally causes a kernel panic, and for 
the time I just skip over such skb's.

Does anyone have advice on where I should start digging to find the 
cause of this?

Thanks in advance!
- David Oostdyk