http://bugzilla.novell.com/show_bug.cgi?id=540589 http://bugzilla.novell.com/show_bug.cgi?id=540589#c23 --- Comment #23 from Jiri Benc <jbenc@novell.com> 2010-01-15 07:51:09 UTC --- (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]:
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? -- 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.