Re: zd1211rw (2.6.26 sparc64): unaligned access (zd_mac_rx)
From: Sebastian Andrzej Siewior <hidden>
Date: 2008-10-26 22:00:33
* Johannes Berg | 2008-10-25 14:05:11 [+0200]:
On Sat, 2008-10-25 at 13:25 +0200, Sebastian Andrzej Siewior wrote:quoted
* Johannes Berg | 2008-10-25 11:17:21 [+0200]:quoted
quoted
[ 277.190494] Kernel unaligned access at TPC[10129b68] zd_mac_rx+0x144/0x32c [zd1211rw]my best bet is this: fc = *(__le16 *)buffer; could you try something with get_unaligned? Though if this is it, then ... We really need disassembly of the exact spot.A few lines before that: | buffer += ZD_PLCP_HEADER_SIZE; and ZD_PLCP_HEADER_SIZE is 5 so we end up unaligned, don't we?Depends where the buffer was before, and thought has gone into this alignment stuff here so it shouldn't. Might well be a new bug though.
On my x86_64 box the address of the buffer pointer right after the add of ZD_PLCP_HEADER_SIZE is: [ 28.462273] buffer: ffff88003e310005 so it looks to me like it was perfectly aligned before the add. Is it possible that it is not a new bug and we need a get_unaligend helper here?
johannes
Sebastian