mac80211: Report rejected association to user space SME
authorJouni Malinen <jouni.malinen@atheros.com>
Wed, 1 Apr 2009 14:23:54 +0000 (17:23 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 22 Apr 2009 20:54:39 +0000 (16:54 -0400)
When using nl80211 association, we need to send association response
with a failure code to user space SME instead of just internally
trying to send out the same (re)association request again couple of
times. This fixes problems in association process getting stuck on a
failure when user space is not notified in any way that something
actually failed.

Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/mlme.c

index 4ce5b9c..90267af 100644 (file)
@@ -1374,6 +1374,11 @@ static void ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
                 * association next time. This works around some broken APs
                 * which do not correctly reject reassociation requests. */
                ifmgd->flags &= ~IEEE80211_STA_PREV_BSSID_SET;
+               cfg80211_send_rx_assoc(sdata->dev, (u8 *) mgmt, len);
+               if (ifmgd->flags & IEEE80211_STA_EXT_SME) {
+                       /* Wait for SME to decide what to do next */
+                       ifmgd->state = IEEE80211_STA_MLME_DISABLED;
+               }
                return;
        }