aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/vt6655/device_main.c
diff options
context:
space:
mode:
authorMalcolm Priestley <tvboxspy@gmail.com>2015-09-27 09:17:39 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-09-29 04:19:53 +0200
commit113d6dc18e5e9334493a0f500c01a9e97796cd9b (patch)
treedee665600f9c908b4f13d10c232d84cfb0bc73de /drivers/staging/vt6655/device_main.c
parentstaging: wlan-ng remove unnessecary variable (diff)
downloadlinux-dev-113d6dc18e5e9334493a0f500c01a9e97796cd9b.tar.xz
linux-dev-113d6dc18e5e9334493a0f500c01a9e97796cd9b.zip
staging: vt6655: don't stop TX queue unless buffer full.
Presently the TX buffer stops while filling the buffer. However, this does not make use of the available buffer space, it also lags the speed of the TX troughtput. Only stop the queue when the buffer becomes full. The Interupt handler will start the queue again when a buffer is available. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vt6655/device_main.c')
-rw-r--r--drivers/staging/vt6655/device_main.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c
index 326bce31c9ca..07ebdea7aa34 100644
--- a/drivers/staging/vt6655/device_main.c
+++ b/drivers/staging/vt6655/device_main.c
@@ -1105,6 +1105,7 @@ static int vnt_tx_packet(struct vnt_private *priv, struct sk_buff *skb)
if (AVAIL_TD(priv, dma_idx) < 1) {
spin_unlock_irqrestore(&priv->lock, flags);
+ ieee80211_stop_queues(priv->hw);
return -ENOMEM;
}
@@ -1156,13 +1157,8 @@ static void vnt_tx_80211(struct ieee80211_hw *hw,
{
struct vnt_private *priv = hw->priv;
- ieee80211_stop_queues(hw);
-
- if (vnt_tx_packet(priv, skb)) {
+ if (vnt_tx_packet(priv, skb))
ieee80211_free_txskb(hw, skb);
-
- ieee80211_wake_queues(hw);
- }
}
static int vnt_start(struct ieee80211_hw *hw)