ieee80211softmac_auth_resp() fix
authorAl Viro <viro@zeniv.linux.org.uk>
Sat, 29 Dec 2007 09:58:39 +0000 (04:58 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 23:08:47 +0000 (15:08 -0800)
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 <viro@zeniv.linux.org.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/ieee80211/softmac/ieee80211softmac_auth.c

index a53a751..1a96c25 100644 (file)
@@ -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;