diff --git a/net/ieee80211/softmac/ieee80211softmac_wx.c b/net/ieee80211/softmac/ieee80211softmac_wx.c index fa2f7da..cc2e8ba 100644 --- a/net/ieee80211/softmac/ieee80211softmac_wx.c +++ b/net/ieee80211/softmac/ieee80211softmac_wx.c @@ -88,6 +88,13 @@ ieee80211softmac_wx_set_essid(struct net_device *net_dev, !memcmp(n->essid.data, extra, n->essid.len)) { dprintk(KERN_INFO PFX "Already associating or associated to "MAC_FMT"\n", MAC_ARG(sm->associnfo.bssid)); + /* wpa_supplicant expects an association event, regardless of prior + * association state. If associating, then the associnfo.work task + * will send the appropriate event. + */ + if (sm->associnfo.associated) + ieee80211softmac_call_events_locked(sm, + IEEE80211SOFTMAC_EVENT_ASSOCIATED, n); goto out; } else { dprintk(KERN_INFO PFX "Canceling existing associate request!\n");