arm/179532: wireless networking on ARM

Adrian Chadd adrian at freebsd.org
Fri Jun 14 05:32:46 UTC 2013


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 at 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


More information about the freebsd-arm mailing list