Skip site navigation (1)Skip section navigation (2)
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>