On Wed, 2023-01-18 at 17:06 +0100, Johannes Berg wrote: > Oh I guess I should read the cover letter too ... > > On Tue, 2022-10-25 at 13:34 -0700, James Prestwood wrote: > > 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. > > > > Basically I don't understand why userspace expects some event. It > asked > for authentication, and you got it. That's all. I don't see userspace > asking for association, or anything else, so what would it be waiting > for? I should have explained this better. I dug up the old thread from the original report and IIRC this is the sequence of events: 1. Begin reassociation to new BSS via CMD_CONNECT. This results in the kernel sending many events to remove the current BSS in favor of the new one: 2. Receive DEL_STATION, DEAUTHENTICATE, DISCONNECT, NEW_STATION 3. Then a CMD_AUTHENTICATE, with a success status. 4. At this point the firmware decides its not gonna continue and calls __ieee80211_disconnect which is a no-op when not associated. We assumed either CMD_ASSOCIATE or CMD_CONNECT will come after CMD_AUTHENTICATE, or a CMD_DEAUTH if there was a problem. I will say, we do see a CMD_DEL_STATION event here which we never processed in this case. But again, I would expect a CMD_DEAUTHENTICATE since we successfully authenticated, right? Thanks, James > > johannes