• Eric Dumazet's avatar
    b44: GFP_DMA skb should not escape from driver · a58c891a
    Eric Dumazet authored
    b44 chip has some hardware limitations, that need GFP_DMA bounce
    buffers in some situations.
    
    In order to not deplete DMA zone, we should keep allocated GFP_DMA skb
    only for driver use. At rx time, we copy such skb to newly allocated
    skb, reusing existing copybreak infrastructure.
    
    On machines with low amount of memory, all skb meet the hardware limitation,
    so no copy is needed. We detect this situation using a new device flag, set
    to one if one GFP_DMA skb was ever allocated by b44_alloc_rx_skb().
    
    Previously allocated skb, even outside from DMA zone will then be recycled,
    to have minimal impact on DMA zone use.
    Signed-off-by: default avatarEric Dumazet <dada1@cosmosbay.com>
    Tested-by: default avatarIonut Leonte <ionut.leonte@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a58c891a
b44.h 17.2 KB