diff --git a/sys/dev/usb/wlan/if_run.c b/sys/dev/usb/wlan/if_run.c index 3a8c02038bf..5c4d755e834 100644 --- a/sys/dev/usb/wlan/if_run.c +++ b/sys/dev/usb/wlan/if_run.c @@ -2847,13 +2847,6 @@ run_rx_frame(struct run_softc *sc, struct mbuf *m, uint32_t dmalen) m->m_pkthdr.len = m->m_len = len; - if (ni != NULL) { - (void)ieee80211_input(ni, m, rssi, nf); - ieee80211_free_node(ni); - } else { - (void)ieee80211_input_all(ic, m, rssi, nf); - } - if (__predict_false(ieee80211_radiotap_active(ic))) { struct run_rx_radiotap_header *tap = &sc->sc_rxtap; uint16_t phy; @@ -2892,6 +2885,13 @@ run_rx_frame(struct run_softc *sc, struct mbuf *m, uint32_t dmalen) break; } } + + if (ni != NULL) { + (void)ieee80211_input(ni, m, rssi, nf); + ieee80211_free_node(ni); + } else { + (void)ieee80211_input_all(ic, m, rssi, nf); + } } static void