• Florian Fainelli's avatar
    net: systemport: fix dma_unmap_single() len · b1ff53e9
    Florian Fainelli authored
    dma_unmap_single() was called with dma_unmap_len(cb, dma_len),
    unfortunately we failed to assign this length field in
    bcm_sysport_rx_refill() or bcm_sysport_alloc_rx_bufs() using
    dma_unmap_len_set().
    
    This causes packet contents corruption because are we not invoking the
    cache invalidation routines with the proper length.  Fix this by using
    the full RX buffer size (RX_BUF_LENGTH) because the mappings for the RX
    bufers are created with that size.
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b1ff53e9
bcmsysport.c 42.6 KB