From: Al Viro Date: Sat, 29 Dec 2007 09:58:39 +0000 (-0500) Subject: ieee80211softmac_auth_resp() fix X-Git-Tag: v2.6.25-rc1~1162^2~217 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=c414e84b2200ca8a7e7ae565cad200e5c02e02ec;p=linux-2.6-omap-h63xx.git ieee80211softmac_auth_resp() fix The struct ieee8021_auth * passed to it comes straight from skb->data without any conversions; members of the struct are little-endian, so we'd better take that into account when doing switch by auth->algorithm, etc. Signed-off-by: Al Viro Signed-off-by: John W. Linville --- diff --git a/net/ieee80211/softmac/ieee80211softmac_auth.c b/net/ieee80211/softmac/ieee80211softmac_auth.c index a53a751d070..1a96c257257 100644 --- a/net/ieee80211/softmac/ieee80211softmac_auth.c +++ b/net/ieee80211/softmac/ieee80211softmac_auth.c @@ -178,11 +178,11 @@ ieee80211softmac_auth_resp(struct net_device *dev, struct ieee80211_auth *auth) } /* Parse the auth packet */ - switch(auth->algorithm) { + switch(le16_to_cpu(auth->algorithm)) { case WLAN_AUTH_OPEN: /* Check the status code of the response */ - switch(auth->status) { + switch(le16_to_cpu(auth->status)) { case WLAN_STATUS_SUCCESS: /* Update the status to Authenticated */ spin_lock_irqsave(&mac->lock, flags); @@ -210,7 +210,7 @@ ieee80211softmac_auth_resp(struct net_device *dev, struct ieee80211_auth *auth) break; case WLAN_AUTH_SHARED_KEY: /* Figure out where we are in the process */ - switch(auth->transaction) { + switch(le16_to_cpu(auth->transaction)) { case IEEE80211SOFTMAC_AUTH_SHARED_CHALLENGE: /* Check to make sure we have a challenge IE */ data = (u8 *)auth->info_element;