Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac630c2b1933e79ff32e3653ae656620cf4b4c79
Commit:     ac630c2b1933e79ff32e3653ae656620cf4b4c79
Parent:     f31ce76b781d15ab6b529663b95223f58171ec80
Author:     Vladimir Davydov <[EMAIL PROTECTED]>
AuthorDate: Thu Sep 6 21:45:36 2007 -0400
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Wed Oct 10 16:52:28 2007 -0700

    [LIBERTAS]: fix oops on the blackfin architecture
    
    Fixing memory alignment problems on the blackfin architecture (maybe on the
    ARM also)
    
    Signed-off-by: Vladimir Davydov <[EMAIL PROTECTED]>
    Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 drivers/net/wireless/libertas/scan.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/libertas/scan.c 
b/drivers/net/wireless/libertas/scan.c
index 8f073ad..fab93d8 100644
--- a/drivers/net/wireless/libertas/scan.c
+++ b/drivers/net/wireless/libertas/scan.c
@@ -13,6 +13,8 @@
 #include <net/ieee80211.h>
 #include <net/iw_handler.h>
 
+#include <asm/unaligned.h>
+
 #include "host.h"
 #include "decl.h"
 #include "dev.h"
@@ -888,7 +890,7 @@ static int libertas_process_bss(struct bss_descriptor * bss,
 
        if (*bytesleft >= sizeof(beaconsize)) {
                /* Extract & convert beacon size from the command buffer */
-               beaconsize = le16_to_cpup((void *)*pbeaconinfo);
+               beaconsize = le16_to_cpu(get_unaligned((u16 *)*pbeaconinfo));
                *bytesleft -= sizeof(beaconsize);
                *pbeaconinfo += sizeof(beaconsize);
        }
@@ -1698,10 +1700,10 @@ int libertas_ret_80211_scan(wlan_private * priv, struct 
cmd_ds_command *resp)
                goto done;
        }
 
-       bytesleft = le16_to_cpu(pscan->bssdescriptsize);
+       bytesleft = le16_to_cpu(get_unaligned((u16*)&pscan->bssdescriptsize));
        lbs_deb_scan("SCAN_RESP: bssdescriptsize %d\n", bytesleft);
 
-       scanrespsize = le16_to_cpu(resp->size);
+       scanrespsize = le16_to_cpu(get_unaligned((u16*)&resp->size));
        lbs_deb_scan("SCAN_RESP: returned %d AP before parsing\n",
               pscan->nr_sets);
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to