]> pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Card with WEP enabled and using shared-key auth will have firmware
authorHong Liu <hong.liu@intel.com>
Wed, 31 Aug 2005 10:14:27 +0000 (18:14 +0800)
committerJames Ketrenos <jketreno@linux.intel.com>
Mon, 7 Nov 2005 23:51:34 +0000 (17:51 -0600)
error when it tries to auth to a WPA ap. The patch filters out WPA
networks if the card is not wpa enabled when selecting network to
associate to.

Signed-off-by: Hong Liu <hong.liu@intel.com>
drivers/net/wireless/ipw2200.c

index c9b306a8116cd8e59d901782f9d5b20be17ede32..e36a1fd9eefd3db6b5745810f2efaeab31850665 100644 (file)
@@ -5510,6 +5510,15 @@ static int ipw_best_network(struct ipw_priv *priv,
                return 0;
        }
 
+       if (!priv->ieee->wpa_enabled && (network->wpa_ie_len > 0 ||
+                                        network->rsn_ie_len > 0)) {
+               IPW_DEBUG_ASSOC("Network '%s (" MAC_FMT ")' excluded "
+                               "because of WPA capability mismatch.\n",
+                               escape_essid(network->ssid, network->ssid_len),
+                               MAC_ARG(network->bssid));
+               return 0;
+       }
+
        if ((priv->config & CFG_STATIC_BSSID) &&
            memcmp(network->bssid, priv->bssid, ETH_ALEN)) {
                IPW_DEBUG_ASSOC("Network '%s (" MAC_FMT ")' excluded "
@@ -6228,6 +6237,7 @@ static int ipw_wpa_enable(struct ipw_priv *priv, int value)
 {
        /* This is called when wpa_supplicant loads and closes the driver
         * interface. */
+       priv->ieee->wpa_enabled = value;
        return 0;
 }