libertas: Don't set IW_ENCODE_NOKEY when returning WEP keys.
authorDavid Woodhouse <dwmw2@infradead.org>
Fri, 7 Dec 2007 19:32:12 +0000 (19:32 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 23:06:14 +0000 (15:06 -0800)
Also clean up the double setting/clearing of IW_ENCODE_DISABLED.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/libertas/wext.c

index b8c93c0..1af140b 100644 (file)
@@ -1122,14 +1122,6 @@ static int lbs_get_encode(struct net_device *dev,
                break;
        }
 
-       if (   adapter->secinfo.wep_enabled
-           || adapter->secinfo.WPAenabled
-           || adapter->secinfo.WPA2enabled) {
-               dwrq->flags &= ~IW_ENCODE_DISABLED;
-       } else {
-               dwrq->flags |= IW_ENCODE_DISABLED;
-       }
-
        memset(extra, 0, 16);
 
        mutex_lock(&adapter->lock);
@@ -1150,14 +1142,13 @@ static int lbs_get_encode(struct net_device *dev,
                   || (adapter->secinfo.WPA2enabled)) {
                /* return WPA enabled */
                dwrq->flags &= ~IW_ENCODE_DISABLED;
+               dwrq->flags |= IW_ENCODE_NOKEY;
        } else {
                dwrq->flags |= IW_ENCODE_DISABLED;
        }
 
        mutex_unlock(&adapter->lock);
 
-       dwrq->flags |= IW_ENCODE_NOKEY;
-
        lbs_deb_wext("key: %02x:%02x:%02x:%02x:%02x:%02x, keylen %d\n",
               extra[0], extra[1], extra[2],
               extra[3], extra[4], extra[5], dwrq->length);