Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=184a3b2c517531faac80b0d74c423dd26038cfd2
Commit:     184a3b2c517531faac80b0d74c423dd26038cfd2
Parent:     8a9faf3cd08b91aca1502dbe18e3b5063fda2e87
Author:     Al Viro <[EMAIL PROTECTED]>
AuthorDate: Fri Dec 21 03:40:35 2007 -0500
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Mon Jan 28 15:09:06 2008 -0800

    hostap: don't mess with mixed-endian even for internal skb queues
    
    Just leave hfa384x_info_frame as-is, don't convert in place.
    
    Signed-off-by: Al Viro <[EMAIL PROTECTED]>
    Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
---
 drivers/net/wireless/hostap/hostap_hw.c   |   14 ++++++--------
 drivers/net/wireless/hostap/hostap_info.c |    5 +++--
 2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/net/wireless/hostap/hostap_hw.c 
b/drivers/net/wireless/hostap/hostap_hw.c
index 77237bb..7be68db 100644
--- a/drivers/net/wireless/hostap/hostap_hw.c
+++ b/drivers/net/wireless/hostap/hostap_hw.c
@@ -2448,18 +2448,16 @@ static void prism2_info(local_info_t *local)
                goto out;
        }
 
-       le16_to_cpus(&info.len);
-       le16_to_cpus(&info.type);
-       left = (info.len - 1) * 2;
+       left = (le16_to_cpu(info.len) - 1) * 2;
 
-       if (info.len & 0x8000 || info.len == 0 || left > 2060) {
+       if (info.len & cpu_to_le16(0x8000) || info.len == 0 || left > 2060) {
                /* data register seems to give 0x8000 in some error cases even
                 * though busy bit is not set in offset register;
                 * in addition, length must be at least 1 due to type field */
                spin_unlock(&local->baplock);
                printk(KERN_DEBUG "%s: Received info frame with invalid "
-                      "length 0x%04x (type 0x%04x)\n", dev->name, info.len,
-                      info.type);
+                      "length 0x%04x (type 0x%04x)\n", dev->name,
+                      le16_to_cpu(info.len), le16_to_cpu(info.type));
                goto out;
        }
 
@@ -2476,8 +2474,8 @@ static void prism2_info(local_info_t *local)
        {
                spin_unlock(&local->baplock);
                printk(KERN_WARNING "%s: Info frame read failed (fid=0x%04x, "
-                      "len=0x%04x, type=0x%04x\n",
-                      dev->name, fid, info.len, info.type);
+                      "len=0x%04x, type=0x%04x\n", dev->name, fid,
+                      le16_to_cpu(info.len), le16_to_cpu(info.type));
                dev_kfree_skb(skb);
                goto out;
        }
diff --git a/drivers/net/wireless/hostap/hostap_info.c 
b/drivers/net/wireless/hostap/hostap_info.c
index e559b8d..7cd3fb7 100644
--- a/drivers/net/wireless/hostap/hostap_info.c
+++ b/drivers/net/wireless/hostap/hostap_info.c
@@ -373,7 +373,7 @@ void hostap_info_process(local_info_t *local, struct 
sk_buff *skb)
        buf = skb->data + sizeof(*info);
        left = skb->len - sizeof(*info);
 
-       switch (info->type) {
+       switch (le16_to_cpu(info->type)) {
        case HFA384X_INFO_COMMTALLIES:
                prism2_info_commtallies(local, buf, left);
                break;
@@ -395,7 +395,8 @@ void hostap_info_process(local_info_t *local, struct 
sk_buff *skb)
 #ifndef PRISM2_NO_DEBUG
        default:
                PDEBUG(DEBUG_EXTRA, "%s: INFO - len=%d type=0x%04x\n",
-                      local->dev->name, info->len, info->type);
+                      local->dev->name, le16_to_cpu(info->len),
+                      le16_to_cpu(info->type));
                PDEBUG(DEBUG_EXTRA, "Unknown info frame:");
                for (i = 0; i < (left < 100 ? left : 100); i++)
                        PDEBUG2(DEBUG_EXTRA, " %02x", buf[i]);
-
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