http://bugzilla.novell.com/show_bug.cgi?id=540589
http://bugzilla.novell.com/show_bug.cgi?id=540589#c24
--- Comment #24 from Brandon Philips
(In reply to comment #20)
(In reply to comment #16)
... I should have pClonedPkt->head = pClonedPkt->data - pClonedPkt->len; I don't think that is correct. Isn't ->data + ->len == ->tail?
Sure. I don't know what I was looking at. We should subtract the 802.11 headers length, not the data length. But after looking at a broader context...
What they seem to be doing is a bad version of skb_pull(skb, pData - pRxPkt->data) because from the oops in attachment 334984 [details] [details]:
STARxDoneInterruptHandle() does pRxBlk->pData = pRxPacket->data STARxDoneInterruptHandle() does pHeader = (PHEADER_802_11) (pData+RXWI_SIZE) ; STAHandleRxDataFrame() does pRxBlk->pData = (UCHAR *)pHeader;
And then these various functions that the patch fixes up are doing a bad version of skb_pull() to get the skb ->data to the pHeader location.
To pData, not pHeader, I would say. Yes, it indeed looks like skb_pull.
That means, just removing the ->head assignments from the Jeff's patch should fix the problem. Do you agree?
Yes, I agree, the head assignment doesn't look needed. I will build another pae Kernel with that change for testing soon. It would really be nice to find someone that both get it to bit and see if the driver actually works. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.