several missing cpu_to_le16() in ieee80211softmac_capabilities()
on some codepaths we forgot to convert to little-endian as we do on the
rest of them and as the caller expects from us.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/net/ieee80211/softmac/ieee80211softmac_io.c b/net/ieee80211/softmac/ieee80211softmac_io.c
index 26c3525..73b4b13 100644
--- a/net/ieee80211/softmac/ieee80211softmac_io.c
+++ b/net/ieee80211/softmac/ieee80211softmac_io.c
@@ -148,11 +148,11 @@
* shouldn't the sequence number be in ieee80211? */
}
-static u16
+static __le16
ieee80211softmac_capabilities(struct ieee80211softmac_device *mac,
struct ieee80211softmac_network *net)
{
- u16 capability = 0;
+ __le16 capability = 0;
/* ESS and IBSS bits are set according to the current mode */
switch (mac->ieee->iw_mode) {
@@ -163,8 +163,8 @@
capability = cpu_to_le16(WLAN_CAPABILITY_IBSS);
break;
case IW_MODE_AUTO:
- capability = net->capabilities &
- (WLAN_CAPABILITY_ESS|WLAN_CAPABILITY_IBSS);
+ capability = cpu_to_le16(net->capabilities &
+ (WLAN_CAPABILITY_ESS|WLAN_CAPABILITY_IBSS));
break;
default:
/* bleh. we don't ever go to these modes */
@@ -182,7 +182,7 @@
/* Short Preamble */
/* Always supported: we probably won't ever be powering devices which
* dont support this... */
- capability |= WLAN_CAPABILITY_SHORT_PREAMBLE;
+ capability |= cpu_to_le16(WLAN_CAPABILITY_SHORT_PREAMBLE);
/* PBCC */
/* Not widely used */