net: systemport: Decouple flow control from __bcm_sysport_tx_reclaim
authorFlorian Fainelli <f.fainelli@gmail.com>
Thu, 12 Jan 2017 20:09:09 +0000 (12:09 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 4 Feb 2017 08:47:09 +0000 (09:47 +0100)
commitb66b1f5ac33d20d12fb56b30a1dac8d79c8a0038
tree0d86b497f5276ac51f5d0cfe260cae6e81d3aa72
parent958bb1bdc2c272fb63f31510d00579f59acb7a06
net: systemport: Decouple flow control from __bcm_sysport_tx_reclaim

[ Upstream commit 148d3d021cf9724fcf189ce4e525a094bbf5ce89 ]

The __bcm_sysport_tx_reclaim() function is used to reclaim transmit
resources in different places within the driver. Most of them should
not affect the state of the transit flow control.

Introduce bcm_sysport_tx_clean() which cleans the ring, but does not
re-enable flow control towards the networking stack, and make
bcm_sysport_tx_reclaim() do the actual transmit queue flow control.

Fixes: 80105befdb4b ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/broadcom/bcmsysport.c