• Felix Fietkau's avatar
    bgmac: fix DMA rx corruption · 4668ae1f
    Felix Fietkau authored
    The driver needs to inform the hardware about the first invalid (not yet
    filled) rx slot, by writing its DMA descriptor pointer offset to the
    BGMAC_DMA_RX_INDEX register.
    
    This register was set to a value exceeding the rx ring size, effectively
    allowing the hardware constant access to the full ring, regardless of
    which slots are initialized.
    
    To fix this issue, always mark the last filled rx slot as invalid.
    Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4668ae1f
bgmac.c 45.4 KB