ath5k: fix endianness of bitwise ops when installing mic
authorBob Copeland <me@bobcopeland.com>
Wed, 10 Dec 2008 04:05:38 +0000 (23:05 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 12 Dec 2008 19:02:04 +0000 (14:02 -0500)
Fix these bugs found by sparse:

    ath5k/pcu.c:1102:21: warning: restricted __le32 degrades to integer
    ath5k/pcu.c:1102:13: warning: incorrect type in assignment (different base types)
    ath5k/pcu.c:1102:13:    expected restricted __le32 <noident>
    ath5k/pcu.c:1102:13:    got unsigned int
    ath5k/pcu.c:1104:20: warning: restricted __le32 degrades to integer
    ath5k/pcu.c:1104:13: warning: incorrect type in assignment (different base types)
    ath5k/pcu.c:1104:13:    expected restricted __le32 <noident>
    ath5k/pcu.c:1104:13:    got unsigned int

Changes-licensed-under: ISC

Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath5k/pcu.c

index dabe422..0cac05c 100644 (file)
@@ -1099,9 +1099,9 @@ int ath5k_hw_set_key(struct ath5k_hw *ah, u16 entry,
 
                if (ah->ah_combined_mic) {
                        key_v[0] = rxmic[0];
-                       key_v[1] = (txmic[0] >> 16) & 0xffff;
+                       key_v[1] = cpu_to_le32(le32_to_cpu(txmic[0]) >> 16);
                        key_v[2] = rxmic[1];
-                       key_v[3] = txmic[0] & 0xffff;
+                       key_v[3] = cpu_to_le32(le32_to_cpu(txmic[0]) & 0xffff);
                        key_v[4] = txmic[1];
                } else {
                        key_v[0] = rxmic[0];