• Michael Buesch's avatar
    b43: Fix DMA TX bounce buffer copying · 9a3f4511
    Michael Buesch authored
    b43 allocates a bouncebuffer, if the supplied TX skb is in an invalid
    memory range for DMA.
    However, this is broken in that it fails to copy over some metadata to the
    new skb.
    
    This patch fixes three problems:
    * Failure to adjust the ieee80211_tx_info pointer to the new buffer.
      This results in a kmemcheck warning.
    * Failure to copy the skb cb, which contains ieee80211_tx_info, to the new skb.
      This results in breakage of various TX-status postprocessing (Rate control).
    * Failure to transfer the queue mapping.
      This results in the wrong queue being stopped on saturation and can result in queue overflow.
    Signed-off-by: default avatarMichael Buesch <mb@bu3sch.de>
    Tested-by: default avatarChristian Casteyde <casteyde.christian@free.fr>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    9a3f4511
dma.c 42.5 KB