octeon_ep: update BQL sent bytes before ringing doorbell
authorShinas Rasheed <srasheed@marvell.com>
Tue, 17 Oct 2023 10:50:30 +0000 (03:50 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 19 Oct 2023 01:05:08 +0000 (18:05 -0700)
commita0ca6b9dfef0b3cc83aa8bb485ed61a018f84982
treeea14559472b4cf0d0989761ec6dafb07d93f2be4
parent2915240eddba96b37de4c7e9a3d0ac6f9548454b
octeon_ep: update BQL sent bytes before ringing doorbell

Sometimes Tx is completed immediately after doorbell is updated, which
causes Tx completion routing to update completion bytes before the
same packet bytes are updated in sent bytes in transmit function, hence
hitting BUG_ON() in dql_completed(). To avoid this, update BQL
sent bytes before ringing doorbell.

Fixes: 37d79d059606 ("octeon_ep: add Tx/Rx processing and interrupt support")
Signed-off-by: Shinas Rasheed <srasheed@marvell.com>
Link: https://lore.kernel.org/r/20231017105030.2310966-1-srasheed@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/marvell/octeon_ep/octep_main.c