diff options
Diffstat (limited to 'sys/dev/iwx/if_iwx.c')
-rw-r--r-- | sys/dev/iwx/if_iwx.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/iwx/if_iwx.c b/sys/dev/iwx/if_iwx.c index 1fe531d69933..8422fcb787c3 100644 --- a/sys/dev/iwx/if_iwx.c +++ b/sys/dev/iwx/if_iwx.c @@ -5673,8 +5673,9 @@ iwx_tx(struct iwx_softc *sc, struct mbuf *m, struct ieee80211_node *ni) if (rinfo == NULL) return EINVAL; - /* Offloaded sequence number assignment */ - /* Note: Should be done in firmware on all supported devices */ + /* Offloaded sequence number assignment; non-AMPDU case */ + if ((m->m_flags & M_AMPDU_MPDU) == 0) + ieee80211_output_seqno_assign(ni, -1, m); /* Radiotap */ if (ieee80211_radiotap_active_vap(vap)) { @@ -10474,6 +10475,8 @@ iwx_attach(device_t dev) ic->ic_flags_ext = IEEE80211_FEXT_SCAN_OFFLOAD; /* Enable seqno offload */ ic->ic_flags_ext |= IEEE80211_FEXT_SEQNO_OFFLOAD; + /* Don't send null data frames; let firmware do it */ + ic->ic_flags_ext |= IEEE80211_FEXT_NO_NULLDATA; ic->ic_txstream = 2; ic->ic_rxstream = 2; |