On Thu, 2009-08-13 at 17:54 +0800, Johannes Berg wrote: > On Thu, 2009-08-13 at 17:23 +0800, Zhu Yi wrote: > > When we receive a successful status in CFG80211_SME_CONNECTED state, > > it is a roam event. We should mark it as a success result. > > But there's a cfg80211_roamed() call for that? Can the driver not tell > the difference? It also sends a different event (ROAMED rather than > CONNECTED) to userspace. The device notifies both when it begins to roam and after the new association is made. Yes, I think I missed the cfg80211_roamed call for the real roam event. But there is still a reassociation path that the above situation could happen (__cfg80211_connect_result is called while in CFG80211_SME_CONNECTED state). Or do you think we should suppress reassoc event from driver? Actually, the code in __cfg80211_connect_result() has already handled the (wdev->sme_state == CFG80211_SME_CONNECTED) case. The problem is wdev->current_bss is set to NULL but leaves wdev->sme_state still as CFG80211_SME_CONNECTED. So I think the patch is still valid, but needs a better description. Thanks, -yi -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html