> > > > + return; > > > > + > > > > +mic_fail: > > > > + cfg80211_michael_mic_failure(sdata->dev, sta->addr, > > > > + (status->flag & > > > > RX_FLAG_MCAST) > > > > ? > > > > + NL80211_KEYTYPE_GROUP : > > > > + NL80211_KEYTYPE_PAIRWISE, > > > > + key ? key->conf.keyidx : > > > > -1, > > > > + NULL, GFP_ATOMIC); > > > > > > Do we really want to handle that inline here? The driver probably > > > has a different check to even set RX_FLAG_MMIC_ERROR, so we could > > > just ask it to call cfg80211_michael_mic_failure() [or a wrapper > > > to > > > get sdata->dev] instead? I guess this works too though, and might > > > be easier to understand. > > > > Yeah, driver directly reporting MIC failure will be fine. I think a > > wrapper may be required rather than mac80211 based driver directly > > calling cfg80211 function? > > It would be, because the driver can't get sdata->dev (although I > think there's now a hidden path to do this?) However, we can do both ways, I don't really care that much. It seems possible though that a driver would not even report the frame, but only the necessary info, in this case - so that we might need an out-of-band path for it anyway? johannes