]> git.baikalelectronics.ru Git - kernel.git/commit
net: broadcom: bcm4908_enet: update TX stats after actual transmission
authorRafał Miłecki <rafal@milecki.pl>
Thu, 27 Oct 2022 11:24:30 +0000 (13:24 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 27 Oct 2022 17:27:53 +0000 (10:27 -0700)
commitf2350e1353906b0cc0db9153d93ab55e5b318627
tree69a3aac5d6c4bd90b17b881a5aaf8153f196f811
parentb2ec41a78db074a5cdb523b8c8b44c0f066a7878
net: broadcom: bcm4908_enet: update TX stats after actual transmission

Queueing packets doesn't guarantee their transmission. Update TX stats
after hardware confirms consuming submitted data.

This also fixes a possible race and NULL dereference.
bcm4908_enet_start_xmit() could try to access skb after freeing it in
the bcm4908_enet_poll_tx().

Reported-by: Florian Fainelli <f.fainelli@gmail.com>
Fixes: b375fb67f6a62 ("net: broadcom: bcm4908enet: add BCM4908 controller driver")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20221027112430.8696-1-zajec5@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bcm4908_enet.c