OSDN Git Service

qtnfmac: modify full Tx queue recovery
authorSergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Mon, 30 Oct 2017 10:13:49 +0000 (13:13 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 30 Oct 2017 10:51:49 +0000 (12:51 +0200)
commitc35c0d54a77d0ff9c101cb3f4e975793f8cb7067
tree2ad92fa707015f8c7f25968059749e77b91cfd40
parentbf024645ac9df78292e65e939b60c9a58e7b9fbb
qtnfmac: modify full Tx queue recovery

Current recovery approach is to wake s/w Tx queues for skb->dev netdevice.
However this approach doesn't cover the case when h/w queue is full of
packets from a single wireless interface. Suppose xmit attempt from the
second wireless interface fails due to failed reclaim. Then the second
interface will not have a chance to recover even if subsequent reclaims
succeed. Possible solution is to attempt to wake all the s/w queues
belonging to driver interfaces.

Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/quantenna/qtnfmac/core.c
drivers/net/wireless/quantenna/qtnfmac/core.h
drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c
drivers/net/wireless/quantenna/qtnfmac/pearl/pcie_bus_priv.h