• Michal Kazior's avatar
    mac80211: support reporting A-MSDU subframes individually · 0cfcefef
    Michal Kazior authored
    Some devices may not be able to report A-MSDUs in
    single buffers. Drivers for such devices were
    forced to re-assemble A-MSDUs which would then
    be eventually disassembled by mac80211. This could
    lead to CPU cache thrashing and poor performance.
    
    Since A-MSDU has a single sequence number all
    subframes share it. This was in conflict with
    retransmission/duplication recovery
    (IEEE802.11-2012: 9.3.2.10).
    
    Patch introduces a new flag that is meant to be
    set for all individually reported A-MSDU subframes
    except the last one. This ensures the
    last_seq_ctrl is updated after the last subframe
    is processed. If an A-MSDU is actually a duplicate
    transmission all reported subframes will be
    properly discarded.
    Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
    [johannes: add braces that were missing even before]
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    0cfcefef
rx.c 95.1 KB