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>
index | next in thread | previous in thread | raw e-mail
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
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomctPwB=0MjV8DNO1UxxcJmzx%2BkyDy6p4=d%2BGPSAsu1yg>
