On Wed, 2020-12-16 at 21:43 +0100, Felix Fietkau wrote: > > + offload = assign && > + (sdata->vif.offload_flags & IEEE80211_OFFLOAD_DECAP_ENABLED); > + > + if (offload) > + set_offload = !test_and_set_sta_flag(sta, WLAN_STA_DECAP_OFFLOAD); > + else > + set_offload = test_and_clear_sta_flag(sta, WLAN_STA_DECAP_OFFLOAD); > + > + if (set_offload) > + drv_sta_set_decap_offload(local, sdata, &sta->sta, assign); Some of these lines look a bit long? > - skb = ieee80211_rx_monitor(local, skb, rate); > + if (!(status->flag & RX_FLAG_8023)) > + skb = ieee80211_rx_monitor(local, skb, rate); Is that worth the check? You basically disable it anyway if monitor interfaces are there. Not sure that's really the right thing to do ... we often want monitor interfaces (with no flags set) for debug? Or maybe we should add some tracing then (instead). johannes