net: broadcom: bcm4908_enet: reset DMA rings sw indexes properly
authorRafał Miłecki <rafal@milecki.pl>
Tue, 22 Jun 2021 05:24:15 +0000 (07:24 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 22 Jun 2021 17:34:13 +0000 (10:34 -0700)
commitddeacc4f6494e07cbb6f033627926623f3e7a9d0
treeba3d0cdf4100cf82a6a2631d21246707fe6ad354
parentc69f114d09891adfa3e301a35d9e872b8b7b5a50
net: broadcom: bcm4908_enet: reset DMA rings sw indexes properly

Resetting software indexes in bcm4908_dma_alloc_buf_descs() is not
enough as it's called during device probe only. Driver resets DMA on
every .ndo_open callback and it's required to reset indexes then.

This fixes inconsistent rings state and stalled traffic after interface
down & up sequence.

Fixes: 4feffeadbcb2 ("net: broadcom: bcm4908enet: add BCM4908 controller driver")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bcm4908_enet.c