OSDN Git Service

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:45:08 +0000 (09:45 +0100)
commitec9e993f30f6374dc69fa5ff2d8c57e7572630a8
tree7da40e9fb2bd6c4cfef442961b1b3ee4d780aec4
parent40e7c725ab0f135aab0d969d9237426b55a14641
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