linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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


  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).