A user reported some behavior where IWD hangs expecting another event to come and it never does. This was due to the firmware (iwlwifi) timing out after authentication and calling __ieee80211_disconnect which essentially does nothing if not associated. The problem here is userspace expects some event to come after authenticating whether it be an association, disconnect, death etc. This my attempt at fixing the problem. Note that the real issue here is iwlwifi. The user can reliably reproduce this problem which points to a firmware issue since a connection loss should be quite rare I assume. Regardless, any bad driver/firmware could cause this behavior since __ieee80211_disconnect only handles being associated. I personally cannot test this, so I hacked mac80211 to call __ieee80211_disconnect immediately after sending the authenticate event. This effectively causes the same behavior and indeed this patch causes a disconnect which is the behavior I would expect. I asked about this a week ago with no response so hopefully this gets more attention and at least gets the conversation going, even if I went about the fix wrong. James Prestwood (1): wifi: mac80211: handle connection loss in __ieee80211_disconnect net/mac80211/mlme.c | 5 +++++ 1 file changed, 5 insertions(+) -- 2.34.3