]> git.dujemihanovic.xyz Git - linux.git/commit
octeontx2-af: Re-enable MAC TX in otx2_stop processing
authorNaveen Mamindlapalli <naveenm@marvell.com>
Tue, 2 Jan 2024 14:14:00 +0000 (19:44 +0530)
committerDavid S. Miller <davem@davemloft.net>
Thu, 4 Jan 2024 10:34:04 +0000 (10:34 +0000)
commit818ed8933bd17bc91a9fa8b94a898189c546fc1a
tree836f6a63a2a5bb56e202230a906f789cbffc0edb
parenta0d9528f6daf7fe8de217fa80a94d2989d2a57a7
octeontx2-af: Re-enable MAC TX in otx2_stop processing

During QoS scheduling testing with multiple strict priority flows, the
netdev tx watchdog timeout routine is invoked when a low priority QoS
queue doesn't get a chance to transmit the packets because other high
priority flows are completely subscribing the transmit link. The netdev
tx watchdog timeout routine will stop MAC RX and TX functionality in
otx2_stop() routine before cleanup of HW TX queues which results in SMQ
flush errors because the packets belonging to low priority queues will
never gets flushed since MAC TX is disabled. This patch fixes the issue
by re-enabling MAC TX to ensure the packets in HW pipeline gets flushed
properly.

Fixes: a7faa68b4e7f ("octeontx2-af: Start/Stop traffic in CGX along with NPC")
Signed-off-by: Naveen Mamindlapalli <naveenm@marvell.com>
Signed-off-by: Sunil Kovvuri Goutham <sgoutham@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/af/rvu.h
drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c