libertas: Set/clear WPA keys before the WEP ones
authorSamuel Ortiz <sameo@linux.intel.com>
Mon, 18 Jan 2010 23:19:21 +0000 (00:19 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 19 Jan 2010 21:49:34 +0000 (16:49 -0500)
With the v10 firmware running on 8688 HW, clearing WPA keys after setting the
WEP key prevents us from being able to associate with WEP APs.
Swapping the calling order for assoc_helper_wpa_keys() and
assoc_helper_wep_keys fixes that issue.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/libertas/assoc.c

index 5e650f35841545313d160baf4e658d48bb83d2a8..fb3dff0fdfa8ce674d939cd8fd93b2431c37001e 100644 (file)
@@ -2052,13 +2052,6 @@ void lbs_association_worker(struct work_struct *work)
                        goto out;
        }
 
-       if (   test_bit(ASSOC_FLAG_WEP_KEYS, &assoc_req->flags)
-           || test_bit(ASSOC_FLAG_WEP_TX_KEYIDX, &assoc_req->flags)) {
-               ret = assoc_helper_wep_keys(priv, assoc_req);
-               if (ret)
-                       goto out;
-       }
-
        if (test_bit(ASSOC_FLAG_SECINFO, &assoc_req->flags)) {
                ret = assoc_helper_secinfo(priv, assoc_req);
                if (ret)
@@ -2078,6 +2071,14 @@ void lbs_association_worker(struct work_struct *work)
                        goto out;
        }
 
+       if (   test_bit(ASSOC_FLAG_WEP_KEYS, &assoc_req->flags)
+           || test_bit(ASSOC_FLAG_WEP_TX_KEYIDX, &assoc_req->flags)) {
+               ret = assoc_helper_wep_keys(priv, assoc_req);
+               if (ret)
+                       goto out;
+       }
+
+
        /* SSID/BSSID should be the _last_ config option set, because they
         * trigger the association attempt.
         */