diff options
author | Eliad Peller <eliad@wizery.com> | 2010-12-22 06:38:52 -0500 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-01-24 15:11:46 -0500 |
commit | 6177eaea277527e48753d050723cd138494c98a8 (patch) | |
tree | 372618c1d42e264f00d20060441f61d3fdf3e1d1 | |
parent | 0dd386676497fb3097e6fbb3de6090c948c0df30 (diff) |
wl12xx: fix some sparse warnings
Note that wl1271_write32() calls cpu_to_le32() by itself, so calling
wl1271_write32(addr, cpu_to_le32(val)) is in fact a bug on BE systems.
Fix the following sparse warnings:
drivers/net/wireless/wl12xx/cmd.c:662:16: warning: incorrect type in assignment (different base types)
drivers/net/wireless/wl12xx/cmd.c:662:16: expected unsigned short [unsigned] [addressable] [usertype] llc_type
drivers/net/wireless/wl12xx/cmd.c:662:16: got restricted __be16 [usertype] <noident>
drivers/net/wireless/wl12xx/cmd.c:674:17: warning: incorrect type in assignment (different base types)
drivers/net/wireless/wl12xx/cmd.c:674:17: expected unsigned int [unsigned] [addressable] [usertype] sender_ip
drivers/net/wireless/wl12xx/cmd.c:674:17: got restricted __be32 [usertype] ip_addr
drivers/net/wireless/wl12xx/rx.c:202:4: warning: incorrect type in argument 3 (different base types)
drivers/net/wireless/wl12xx/rx.c:202:4: expected unsigned int [unsigned] [usertype] val
drivers/net/wireless/wl12xx/rx.c:202:4: got restricted __le32 [usertype] <noident>
drivers/net/wireless/wl12xx/acx.c:1247:23: warning: incorrect type in assignment (different base types)
drivers/net/wireless/wl12xx/acx.c:1247:23: expected restricted __le32 [usertype] ht_capabilites
drivers/net/wireless/wl12xx/acx.c:1247:23: got unsigned long
drivers/net/wireless/wl12xx/acx.c:1250:24: warning: invalid assignment: |=
drivers/net/wireless/wl12xx/acx.c:1250:24: left side has type restricted __le32
drivers/net/wireless/wl12xx/acx.c:1250:24: right side has type unsigned long
drivers/net/wireless/wl12xx/acx.c:1253:24: warning: invalid assignment: |=
drivers/net/wireless/wl12xx/acx.c:1253:24: left side has type restricted __le32
drivers/net/wireless/wl12xx/acx.c:1253:24: right side has type unsigned long
drivers/net/wireless/wl12xx/acx.c:1256:24: warning: invalid assignment: |=
drivers/net/wireless/wl12xx/acx.c:1256:24: left side has type restricted __le32
drivers/net/wireless/wl12xx/acx.c:1256:24: right side has type unsigned long
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
-rw-r--r-- | drivers/net/wireless/wl12xx/acx.c | 13 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/cmd.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/rx.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/wl12xx_80211.h | 6 |
4 files changed, 15 insertions, 15 deletions
diff --git a/drivers/net/wireless/wl12xx/acx.c b/drivers/net/wireless/wl12xx/acx.c index cc4068d2b4a8..17f6a63fbdea 100644 --- a/drivers/net/wireless/wl12xx/acx.c +++ b/drivers/net/wireless/wl12xx/acx.c | |||
@@ -1233,6 +1233,7 @@ int wl1271_acx_set_ht_capabilities(struct wl1271 *wl, | |||
1233 | struct wl1271_acx_ht_capabilities *acx; | 1233 | struct wl1271_acx_ht_capabilities *acx; |
1234 | u8 mac_address[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; | 1234 | u8 mac_address[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; |
1235 | int ret = 0; | 1235 | int ret = 0; |
1236 | u32 ht_capabilites = 0; | ||
1236 | 1237 | ||
1237 | wl1271_debug(DEBUG_ACX, "acx ht capabilities setting"); | 1238 | wl1271_debug(DEBUG_ACX, "acx ht capabilities setting"); |
1238 | 1239 | ||
@@ -1244,16 +1245,16 @@ int wl1271_acx_set_ht_capabilities(struct wl1271 *wl, | |||
1244 | 1245 | ||
1245 | /* Allow HT Operation ? */ | 1246 | /* Allow HT Operation ? */ |
1246 | if (allow_ht_operation) { | 1247 | if (allow_ht_operation) { |
1247 | acx->ht_capabilites = | 1248 | ht_capabilites = |
1248 | WL1271_ACX_FW_CAP_HT_OPERATION; | 1249 | WL1271_ACX_FW_CAP_HT_OPERATION; |
1249 | if (ht_cap->cap & IEEE80211_HT_CAP_GRN_FLD) | 1250 | if (ht_cap->cap & IEEE80211_HT_CAP_GRN_FLD) |
1250 | acx->ht_capabilites |= | 1251 | ht_capabilites |= |
1251 | WL1271_ACX_FW_CAP_GREENFIELD_FRAME_FORMAT; | 1252 | WL1271_ACX_FW_CAP_GREENFIELD_FRAME_FORMAT; |
1252 | if (ht_cap->cap & IEEE80211_HT_CAP_SGI_20) | 1253 | if (ht_cap->cap & IEEE80211_HT_CAP_SGI_20) |
1253 | acx->ht_capabilites |= | 1254 | ht_capabilites |= |
1254 | WL1271_ACX_FW_CAP_SHORT_GI_FOR_20MHZ_PACKETS; | 1255 | WL1271_ACX_FW_CAP_SHORT_GI_FOR_20MHZ_PACKETS; |
1255 | if (ht_cap->cap & IEEE80211_HT_CAP_LSIG_TXOP_PROT) | 1256 | if (ht_cap->cap & IEEE80211_HT_CAP_LSIG_TXOP_PROT) |
1256 | acx->ht_capabilites |= | 1257 | ht_capabilites |= |
1257 | WL1271_ACX_FW_CAP_LSIG_TXOP_PROTECTION; | 1258 | WL1271_ACX_FW_CAP_LSIG_TXOP_PROTECTION; |
1258 | 1259 | ||
1259 | /* get data from A-MPDU parameters field */ | 1260 | /* get data from A-MPDU parameters field */ |
@@ -1261,10 +1262,10 @@ int wl1271_acx_set_ht_capabilities(struct wl1271 *wl, | |||
1261 | acx->ampdu_min_spacing = ht_cap->ampdu_density; | 1262 | acx->ampdu_min_spacing = ht_cap->ampdu_density; |
1262 | 1263 | ||
1263 | memcpy(acx->mac_address, mac_address, ETH_ALEN); | 1264 | memcpy(acx->mac_address, mac_address, ETH_ALEN); |
1264 | } else { /* HT operations are not allowed */ | ||
1265 | acx->ht_capabilites = 0; | ||
1266 | } | 1265 | } |
1267 | 1266 | ||
1267 | acx->ht_capabilites = cpu_to_le32(ht_capabilites); | ||
1268 | |||
1268 | ret = wl1271_cmd_configure(wl, ACX_PEER_HT_CAP, acx, sizeof(*acx)); | 1269 | ret = wl1271_cmd_configure(wl, ACX_PEER_HT_CAP, acx, sizeof(*acx)); |
1269 | if (ret < 0) { | 1270 | if (ret < 0) { |
1270 | wl1271_warning("acx ht capabilities setting failed: %d", ret); | 1271 | wl1271_warning("acx ht capabilities setting failed: %d", ret); |
diff --git a/drivers/net/wireless/wl12xx/cmd.c b/drivers/net/wireless/wl12xx/cmd.c index 0106628aa5a2..52a6bcd5c309 100644 --- a/drivers/net/wireless/wl12xx/cmd.c +++ b/drivers/net/wireless/wl12xx/cmd.c | |||
@@ -659,15 +659,15 @@ int wl1271_cmd_build_arp_rsp(struct wl1271 *wl, __be32 ip_addr) | |||
659 | 659 | ||
660 | /* llc layer */ | 660 | /* llc layer */ |
661 | memcpy(tmpl.llc_hdr, rfc1042_header, sizeof(rfc1042_header)); | 661 | memcpy(tmpl.llc_hdr, rfc1042_header, sizeof(rfc1042_header)); |
662 | tmpl.llc_type = htons(ETH_P_ARP); | 662 | tmpl.llc_type = cpu_to_be16(ETH_P_ARP); |
663 | 663 | ||
664 | /* arp header */ | 664 | /* arp header */ |
665 | arp_hdr = &tmpl.arp_hdr; | 665 | arp_hdr = &tmpl.arp_hdr; |
666 | arp_hdr->ar_hrd = htons(ARPHRD_ETHER); | 666 | arp_hdr->ar_hrd = cpu_to_be16(ARPHRD_ETHER); |
667 | arp_hdr->ar_pro = htons(ETH_P_IP); | 667 | arp_hdr->ar_pro = cpu_to_be16(ETH_P_IP); |
668 | arp_hdr->ar_hln = ETH_ALEN; | 668 | arp_hdr->ar_hln = ETH_ALEN; |
669 | arp_hdr->ar_pln = 4; | 669 | arp_hdr->ar_pln = 4; |
670 | arp_hdr->ar_op = htons(ARPOP_REPLY); | 670 | arp_hdr->ar_op = cpu_to_be16(ARPOP_REPLY); |
671 | 671 | ||
672 | /* arp payload */ | 672 | /* arp payload */ |
673 | memcpy(tmpl.sender_hw, wl->vif->addr, ETH_ALEN); | 673 | memcpy(tmpl.sender_hw, wl->vif->addr, ETH_ALEN); |
diff --git a/drivers/net/wireless/wl12xx/rx.c b/drivers/net/wireless/wl12xx/rx.c index ec8d843d41cf..c6402529eac8 100644 --- a/drivers/net/wireless/wl12xx/rx.c +++ b/drivers/net/wireless/wl12xx/rx.c | |||
@@ -198,6 +198,5 @@ void wl1271_rx(struct wl1271 *wl, struct wl1271_fw_status *status) | |||
198 | pkt_offset += pkt_length; | 198 | pkt_offset += pkt_length; |
199 | } | 199 | } |
200 | } | 200 | } |
201 | wl1271_write32(wl, RX_DRIVER_COUNTER_ADDRESS, | 201 | wl1271_write32(wl, RX_DRIVER_COUNTER_ADDRESS, wl->rx_counter); |
202 | cpu_to_le32(wl->rx_counter)); | ||
203 | } | 202 | } |
diff --git a/drivers/net/wireless/wl12xx/wl12xx_80211.h b/drivers/net/wireless/wl12xx/wl12xx_80211.h index be21032f4dc1..e2b26fbf68c1 100644 --- a/drivers/net/wireless/wl12xx/wl12xx_80211.h +++ b/drivers/net/wireless/wl12xx/wl12xx_80211.h | |||
@@ -138,13 +138,13 @@ struct wl12xx_arp_rsp_template { | |||
138 | struct ieee80211_hdr_3addr hdr; | 138 | struct ieee80211_hdr_3addr hdr; |
139 | 139 | ||
140 | u8 llc_hdr[sizeof(rfc1042_header)]; | 140 | u8 llc_hdr[sizeof(rfc1042_header)]; |
141 | u16 llc_type; | 141 | __be16 llc_type; |
142 | 142 | ||
143 | struct arphdr arp_hdr; | 143 | struct arphdr arp_hdr; |
144 | u8 sender_hw[ETH_ALEN]; | 144 | u8 sender_hw[ETH_ALEN]; |
145 | u32 sender_ip; | 145 | __be32 sender_ip; |
146 | u8 target_hw[ETH_ALEN]; | 146 | u8 target_hw[ETH_ALEN]; |
147 | u32 target_ip; | 147 | __be32 target_ip; |
148 | } __packed; | 148 | } __packed; |
149 | 149 | ||
150 | 150 | ||