• Lars Persson's avatar
    net: stmmac: Set dma ring length before enabling the DMA · 56612139
    Lars Persson authored
    This was fixed in upstream by commit 7d9e6c5a ("net: stmmac: Integrate
    XGMAC into main driver flow") that is a new feature commit.
    
    We found a race condition in the DMA init sequence that hits if the
    PHY already has link up during stmmac_hw_setup. Since the ring length
    was programmed after enabling the RX path, we might receive a packet
    before the correct ring length is programmed. When that happened we
    could not get reliable interrupts for DMA RX and the MTL complained
    about RX FIFO overrun.
    Signed-off-by: default avatarLars Persson <larper@axis.com>
    Cc: stable@vger.kernel.org # 4.14.x
    Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
    Cc: Alexandre Torgue <alexandre.torgue@st.com>
    Cc: Jose Abreu <joabreu@synopsys.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    56612139
stmmac_main.c 126 KB