On Thu, 2009-08-06 at 11:06 +0200, Johannes Berg wrote: > On Thu, 2009-08-06 at 04:52 -0400, Pavel Roskin wrote: > > WARN_ON was triggered at mlme.c:213 when dissociating from an AP. > > > > wdev->current_bss->pub.bssid should be used in place of > > wdev->current_bss for BSSID comparison. > > Oh wow, good catch, thanks. Now that the check is fixed, it turn out there is a related problem in the same function. If the device is in the managed mode and disconnects from an AP due to a low signal, attempts to reassociate by setting the same ESSID fail: Error for wireless request "Set ESSID" (8B1A) : SET failed on device wlan0 ; Operation already in progress. It happens because wdev->auth_bsses[i] is not set to NULL. cfg80211_sme_disassoc() can do it, but not if wdev->conn->state is CFG80211_CONN_IDLE. Either cfg80211_sme_disassoc() or __cfg80211_send_disassoc() should unset wdev->auth_bsses[i] for the management mode. -- Regards, Pavel Roskin -- 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