From: Shaddy Baddah <shaddy_baddah@hotmail.com>
To: linux-wireless@vger.kernel.org
Subject: Re: zd1211rw (2.6.26 sparc64): unaligned access (zd_mac_rx)
Date: Fri, 28 Nov 2008 16:34:34 +1100 [thread overview]
Message-ID: <BAY104-DAV671C2C6DE8B2A05AD785E99040@phx.gbl> (raw) (sfid-20081128_063451_695419_24A9F419)
Message-ID: <492F82EA.4030902@hotmail.com> (raw)
In-Reply-To: <BAY104-DAV1D226EA8FB16BE36E3C84991A0@phx.gbl>
Hi,
On 2008-11-11 02:13, Shaddy Baddah wrote:
> Ok, after a long hard slog at trying to understand all this, I'm going
> to have to pause the effort. I am beginning to understand the mechanisms
> in place... however, I am not totally sure about anything. My first
Devoting a little bit of time here and there to understanding the
unaligned accesses, I think I understand a whole lot better now.
First off, I only came to realise that the reason the module seemed to
continue operations despite reporting the unaligned access error was
because the exception handler actually emulates the intended operation
(albeit much slower). Good to know.
I then came to understand that we cannot expect alignment on RX in the
zd1211rw module. In fact, we might expect that 80211 packets are always
unaligned, because the 5 byte PLCP prefix in the SKB buffer will always
push it into an odd address (assuming the SKB buffer is allocated
aligned). In which case, as detailed in the
Documentation/unaligned-memory-access.txt, replacing
compare_ether_addr() with memcmp() is perfectly fine.
After solving that, I was still getting an unaligned access from a
compare_ether_addr() call in sta_info_get() from mac80211 module. My
dilemma was whether that module would expect alignment always, in which
case the same simple function replacement would not be OK. But I saw
several places where memcmp() is preferred to compare_ether_addr(),
which I assume indicates that mac80211 does not expect alignment of
80211 packets passed to it.
Applying Sebastian Andrzej Siewior wireless/zd1211rw: use
get_unaligned_le16 helper (v2) patch and my two changes quietens down
the kernel completely. I will submit these two patches in follow up emails.
It is interesting (at least to me) to note that a change between kernel
versions 2.6.26 and 2.6.28-rc6 fixed something that allowed WPA2 to work
on sparc64. At least according to my careful verification. Perhaps one
day, I'll narrow that change down.
Regards,
Shaddy
next prev parent reply other threads:[~2008-11-28 5:34 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-25 8:54 zd1211rw (2.6.26 sparc64): unaligned access (zd_mac_rx) Shaddy Baddah
2008-10-25 9:17 ` Johannes Berg
2008-10-25 11:25 ` Sebastian Andrzej Siewior
2008-10-25 12:05 ` Johannes Berg
2008-10-26 22:00 ` Sebastian Andrzej Siewior
2008-10-27 7:00 ` Johannes Berg
2008-10-25 11:21 ` Sebastian Andrzej Siewior
2008-10-25 11:25 ` Michael Buesch
2008-10-25 11:28 ` Sebastian Andrzej Siewior
2008-10-25 11:31 ` Michael Buesch
2008-10-25 11:38 ` Sebastian Andrzej Siewior
2008-10-25 15:13 ` Shaddy Baddah
[not found] ` <491589ED.4090904@hotmail.com>
2008-11-08 12:45 ` Shaddy Baddah
2008-11-08 13:11 ` Johannes Berg
[not found] ` <491653A6.20705@hotmail.com>
2008-11-09 3:06 ` Shaddy Baddah
[not found] ` <49165436.4040306@hotmail.com>
2008-11-09 3:08 ` Shaddy Baddah
2008-11-09 12:00 ` Michael Buesch
2008-11-09 8:56 ` Johannes Berg
2008-11-09 9:03 ` Johannes Berg
2008-11-09 12:02 ` Michael Buesch
2008-11-09 18:31 ` Johannes Berg
[not found] ` <4916F1C0.1040703@hotmail.com>
2008-11-09 14:20 ` Shaddy Baddah
[not found] ` <49184F82.9070102@hotmail.com>
2008-11-10 15:13 ` Shaddy Baddah
[not found] ` <492F82EA.4030902@hotmail.com>
2008-11-28 5:34 ` Shaddy Baddah [this message]
2008-11-28 7:10 ` David Miller
2008-11-28 22:44 ` Michael Buesch
[not found] ` <49310454.60906@hotmail.com>
2008-11-29 8:59 ` Shaddy Baddah
2008-11-29 9:50 ` Johannes Berg
[not found] ` <49313C0E.9030309@hotmail.com>
2008-11-29 12:56 ` Shaddy Baddah
[not found] ` <492F856D.9020200@hotmail.com>
2008-11-28 5:45 ` Shaddy Baddah
2008-11-28 6:47 ` Harvey Harrison
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BAY104-DAV671C2C6DE8B2A05AD785E99040@phx.gbl \
--to=shaddy_baddah@hotmail.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).