Patch "brcmfmac: restore stopping netdev queue when bus clogs up" has been added to the 4.7-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
brcmfmac: restore stopping netdev queue when bus clogs up
to the 4.7-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
brcmfmac-restore-stopping-netdev-queue-when-bus-clogs-up.patch
and it can be found in the queue-4.7 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
82bc9ab6a8f577d2174a736c33f3d4ecf7d9ef47Mon Sep 17 00:00:00 2001
From: Arend Van Spriel <[email protected]>
Date: Fri, 15 Jul 2016 12:16:12 +0200
Subject: brcmfmac: restore stopping netdev queue when bus clogs up
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Arend Van Spriel <[email protected]>
commit 82bc9ab6a8f577d2174a736c33f3d4ecf7d9ef47 upstream.
When the host-interface bus has hard time handling transmit packets it informs higher layer about this and it would stop the netdev queue when needed. However, since commit 9cd18359d31e ("brcmfmac:
Make FWS queueing configurable.") this was broken. With this patch the behaviour is restored.
--- drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c | 22 +++++++++--- 1 file changed, 17 insertions(+), 5 deletions(-)
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c +17 -5
@@ -2469,10 +2469,22 @@ void brcmf_fws_bustxfail(struct brcmf_fwvoid brcmf_fws_bus_blocked (struct brcmf_pub *drvr,bool flow_blocked) {struct brcmf_fws_info *fws = drvr->fws; +struct brcmf_if *ifp; +int i; - fws->bus_flow_blocked = flow_blocked; -if (!flow_blocked) -brcmf_fws_schedule_deq (fws); -else - fws->stats.bus_flow_block++; +if (fws->avoid_queueing) { +for (i =0 ; i <BRCMF_MAX_IFS ; i++) { + ifp = drvr->iflist[i]; +if (!ifp || !ifp->ndev) +continue ; +brcmf_txflowblock_if (ifp,BRCMF_NETIF_STOP_REASON_FLOW , + flow_blocked); + } + }else { + fws->bus_flow_blocked = flow_blocked; +if (!flow_blocked) +brcmf_fws_schedule_deq (fws); +else + fws->stats.bus_flow_block++; + } }
Patches currently in stable-queue which might be from [email protected] are
queue-4.7/brcmfmac-restore-stopping-netdev-queue-when-bus-clogs-up.patch