diff options
author | Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> | 2017-10-30 13:13:49 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2017-10-30 12:51:49 +0200 |
commit | c35c0d54a77d0ff9c101cb3f4e975793f8cb7067 (patch) | |
tree | 2ad92fa707015f8c7f25968059749e77b91cfd40 /drivers/net/wireless/quantenna/qtnfmac/core.h | |
parent | bf024645ac9df78292e65e939b60c9a58e7b9fbb (diff) | |
download | blackbird-op-linux-c35c0d54a77d0ff9c101cb3f4e975793f8cb7067.tar.gz blackbird-op-linux-c35c0d54a77d0ff9c101cb3f4e975793f8cb7067.zip |
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>
Diffstat (limited to 'drivers/net/wireless/quantenna/qtnfmac/core.h')
-rw-r--r-- | drivers/net/wireless/quantenna/qtnfmac/core.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/quantenna/qtnfmac/core.h b/drivers/net/wireless/quantenna/qtnfmac/core.h index 49ae700f66f0..da2c24e2271d 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/core.h +++ b/drivers/net/wireless/quantenna/qtnfmac/core.h @@ -153,6 +153,7 @@ int qtnf_cmd_send_get_phy_params(struct qtnf_wmac *mac); struct qtnf_wmac *qtnf_core_get_mac(const struct qtnf_bus *bus, u8 macid); struct net_device *qtnf_classify_skb(struct qtnf_bus *bus, struct sk_buff *skb); +void qtnf_wake_all_queues(struct net_device *ndev); void qtnf_virtual_intf_cleanup(struct net_device *ndev); void qtnf_netdev_updown(struct net_device *ndev, bool up); |