• Johannes Berg's avatar
    iwlagn: support multiple TBs per command · 4ce7cc2b
    Johannes Berg authored
    The current "huge" command handling is a bit
    confusing, and very limited since only one
    command may be huge at a time. Additionally,
    we often copy data around quite pointlessly
    since we could instead map the existing scan
    buffer for example and use it directly.
    This patch makes that possible. The first
    change is that multiple buffers may be given
    to each command (this change was prepared
    earlier so callsites don't need to change).
    Each of those can be mapped attached to a TB
    in the TFD, and the command header can use a
    TB (the first one) in the TFD as well.
    Doing this allows getting rid of huge commands
    in favour of mapping existing buffers. The
    beacon transmission is also optimised to not
    copy the SKB at all but use multiple TBs.
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>