aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/hostap/hostap_hw.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2007-12-21 03:40:35 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:09:06 -0500
commit184a3b2c517531faac80b0d74c423dd26038cfd2 (patch)
treeb7437116a56c7b992cf52e5f1154eec85ddd5df6 /drivers/net/wireless/hostap/hostap_hw.c
parent8a9faf3cd08b91aca1502dbe18e3b5063fda2e87 (diff)
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 <viro@zeniv.linux.org.uk> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/hostap/hostap_hw.c')
-rw-r--r--drivers/net/wireless/hostap/hostap_hw.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c
index 77237bb3b2f9..7be68db6f300 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)
2448 goto out; 2448 goto out;
2449 } 2449 }
2450 2450
2451 le16_to_cpus(&info.len); 2451 left = (le16_to_cpu(info.len) - 1) * 2;
2452 le16_to_cpus(&info.type);
2453 left = (info.len - 1) * 2;
2454 2452
2455 if (info.len & 0x8000 || info.len == 0 || left > 2060) { 2453 if (info.len & cpu_to_le16(0x8000) || info.len == 0 || left > 2060) {
2456 /* data register seems to give 0x8000 in some error cases even 2454 /* data register seems to give 0x8000 in some error cases even
2457 * though busy bit is not set in offset register; 2455 * though busy bit is not set in offset register;
2458 * in addition, length must be at least 1 due to type field */ 2456 * in addition, length must be at least 1 due to type field */
2459 spin_unlock(&local->baplock); 2457 spin_unlock(&local->baplock);
2460 printk(KERN_DEBUG "%s: Received info frame with invalid " 2458 printk(KERN_DEBUG "%s: Received info frame with invalid "
2461 "length 0x%04x (type 0x%04x)\n", dev->name, info.len, 2459 "length 0x%04x (type 0x%04x)\n", dev->name,
2462 info.type); 2460 le16_to_cpu(info.len), le16_to_cpu(info.type));
2463 goto out; 2461 goto out;
2464 } 2462 }
2465 2463
@@ -2476,8 +2474,8 @@ static void prism2_info(local_info_t *local)
2476 { 2474 {
2477 spin_unlock(&local->baplock); 2475 spin_unlock(&local->baplock);
2478 printk(KERN_WARNING "%s: Info frame read failed (fid=0x%04x, " 2476 printk(KERN_WARNING "%s: Info frame read failed (fid=0x%04x, "
2479 "len=0x%04x, type=0x%04x\n", 2477 "len=0x%04x, type=0x%04x\n", dev->name, fid,
2480 dev->name, fid, info.len, info.type); 2478 le16_to_cpu(info.len), le16_to_cpu(info.type));
2481 dev_kfree_skb(skb); 2479 dev_kfree_skb(skb);
2482 goto out; 2480 goto out;
2483 } 2481 }