Date: Thu, 13 Jun 2013 22:32:40 -0700 From: Adrian Chadd <adrian@freebsd.org> To: Guillaume Bibaut <yom@iaelu.net> Cc: freebsd-arm@freebsd.org, freebsd-wireless@freebsd.org Subject: Re: arm/179532: wireless networking on ARM Message-ID: <CAJ-VmomctPwB=0MjV8DNO1UxxcJmzx%2BkyDy6p4=d%2BGPSAsu1yg@mail.gmail.com> In-Reply-To: <CAJ-VmomxoYJ%2B73ro9hg4Ee%2BqseCV-Gy2SmV1fsOBO1EC1Hu6LA@mail.gmail.com> References: <201306130940.r5D9eiFx089862@oldred.freebsd.org> <CAJ-VmomxoYJ%2B73ro9hg4Ee%2BqseCV-Gy2SmV1fsOBO1EC1Hu6LA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
So that line does this: rc->freq = htole16(c->ic_freq); Please print out the value of p, c and rc before that is called. printf("%s: c=%p, p=%p, rc=%p\n", __func__, c, p, rc); I bet one of them is unaligned. And I bet that 'c' is aligned, but 'rc' and 'p' aren't aligned. I bet they're unaligned because ic->ic_rxchan and/or ic->ic_txchan is unaligned. Now, why _those_ are unaligned, I dunno. I bet the pointers passed into ieee80211_radiotap_attach() (th and rh) are unaligned, and that leads to this unalignment mess. The whole tx and rx tap structure allocation in if_runvar.h is a bit sick. Sigh. Adrian On 13 June 2013 16:49, Adrian Chadd <adrian@freebsd.org> wrote: > Ugh, > > Hi, > > An alignment fault? ugh. It works fine on MIPS; I wonder if it's > something odd to do with the specific driver in use. > > I'll look at the source and get back to everyone. > > Thanks! > > > > adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomctPwB=0MjV8DNO1UxxcJmzx%2BkyDy6p4=d%2BGPSAsu1yg>