Thread (14 messages) 14 messages, 4 authors, 2008-11-28

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help