On Sun, 2012-12-30 at 00:50 +0100, Ben Hutchings wrote: > On Sat, 2012-12-29 at 13:10 +0000, Malcolm Priestley wrote: > > shorted back-ported version of upstream commit > > 11d404cb56ecd53bb23499897fbe7be1a9ac4827 > > staging: vt6656: fix headers and add cfg80211. > > key.c only > > > > This patch fixes the deadlock of 64 bit systems > > on successful association. > > > > In key.h void pointer pvKeyTable in SKeyItem is out of alignment > > on 64 bit kernel. > > > > The upstream arrangement of headers fixes this. > [...] > > Please explain how. I don't see anything weird about key.h and mac.h > that would cause structure definitions to be interpreted differently > depending on inclusion order.
The difference is that key.h is no longer defined in key.c. It is declared in path; mac.h ----->device.h -------------->key.h The structure is now as seen by rxtx.c and dpc.c. Before the patch, key.c has it's own localised version declared in key.h and for some reason(?) is not packed the same. See below. Regards Malcolm Before patch; 64 bit kernel key.c : KeyvInitTable [ 3182.522842] KeyTable[0].pvKeyTable ffff880032e3d529 [ 3182.522846] KeyTable[0].bSoftWEP ffff880032e3d6a5 [ 3182.522848] KeyTable[0].bSoftWEP(pvKeyTable +) : 380 <-----------! rxtx.c : s_bPacketToWirelessUsb [ 3187.008050] pTransmitKey->pvKeyTable ffff880032e3d529 [ 3187.008057] (pTransmitKey->pvKeyTable))->bSoftWEP(pvKeyTable +) : 358 After patch; 64 bit kernel key.c : KeyvInitTable [ 2615.745247] KeyTable[0].pvKeyTable ffff880032e3d529 [ 2615.745252] KeyTable[0].bSoftWEP ffff880032e3d68f [ 2615.745255] KeyTable[0].bSoftWEP(pvKeyTable +) : 358 rxtx.c : s_bPacketToWirelessUsb [ 2618.864048] pTransmitKey->pvKeyTable ffff880032e3d529 [ 2618.864056] (pTransmitKey->pvKeyTable))->bSoftWEP(pvKeyTable +) : 358 32 bit kernel key.c : KeyvInitTable [ 703.129323] KeyTable[0].pvKeyTable f177bd5f [ 703.129326] KeyTable[0].bSoftWEP f177beb1 [ 703.129328] KeyTable[0].bSoftWEP(pvKeyTable +) : 338 ... rxtx.c : s_bPacketToWirelessUsb [ 709.025622] pTransmitKey->pvKeyTable f177bd5f [ 709.025629] (pTransmitKey->pvKeyTable))->bSoftWEP(pvKeyTable +) : 338 -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
