On Thu, Jul 27, 2017 at 08:45:32PM -0300, R0me0 *** wrote:
> invalid transition ASSOC -> ASSOC

This diff should fix this panic and allow normal operation.
Can you please test it?

This kind of transition can be triggerred if management frames arrive at
an inconvenient point in time, so this transition is not actually invalid
and the net80211 stack should handle it.

Index: ieee80211_proto.c
===================================================================
RCS file: /cvs/src/sys/net80211/ieee80211_proto.c,v
retrieving revision 1.78
diff -u -p -r1.78 ieee80211_proto.c
--- ieee80211_proto.c   22 Jul 2017 16:54:46 -0000      1.78
+++ ieee80211_proto.c   28 Jul 2017 09:05:55 -0000
@@ -1022,11 +1022,11 @@ justcleanup:
                switch (ostate) {
                case IEEE80211_S_INIT:
                case IEEE80211_S_SCAN:
-               case IEEE80211_S_ASSOC:
                        panic("invalid transition %s -> %s",
                            ieee80211_state_name[ostate],
                            ieee80211_state_name[nstate]);
                        break;
+               case IEEE80211_S_ASSOC:
                case IEEE80211_S_AUTH:
                        IEEE80211_SEND_MGMT(ic, ni,
                            IEEE80211_FC0_SUBTYPE_ASSOC_REQ, 0);

Reply via email to