• Emmanuel Grumbach's avatar
    mac80211: don't send deferred frames outside the SP · facde7f3
    Emmanuel Grumbach authored
    Frames that are sent between
    ampdu_action(IEEE80211_AMPDU_TX_START) and the move to the
    HT_AGG_STATE_OPERATIONAL state are buffered.
    If we try to start an A-MPDU session while the peer is
    sleeping and polling frames with U-APSD, we may have frames
    that will be buffered by ieee80211_tx_prep_agg. These frames
    have IEEE80211_TX_CTL_NO_PS_BUFFER set since they are sent to
    a sleeping client and possibly IEEE80211_TX_STATUS_EOSP.
    If the frame is buffered, we need clear these two flags
    since they will be re-sent after the move to
    HT_AGG_STATE_OPERATIONAL state which is very likely to
    happen after the SP ends.
    Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    facde7f3
tx.c 108 KB