• Alexander Duyck's avatar
    ixgbe: always write DMA for single_mapped value with skb · 729739b7
    Alexander Duyck authored
    This change makes it so that we always write the DMA address for the skb
    itself on the same tx_buffer struct that the skb is written on.  This way
    we don't need the MAPPED_AS_PAGE flag and we always know it will be the
    first DMA value that we will have to unmap.
    
    In addition I have found an issue in which we were leaking a DMA mapping if
    the value happened to be 0 which is possible on some platforms.  In order
    to resolve that I have updated the transmit path to use the length instead
    of the DMA mapping in order to determine if a mapping is actually present.
    
    One other tweak in this patch is that it only writes the olinfo information
    on the first descriptor.  As it turns out it isn't necessary to write it
    for anything but the first descriptor so there is no need to carry it
    forward.
    Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
    Tested-by: default avatarStephen Ko <stephen.s.ko@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    729739b7
ixgbe_main.c 228 KB