diff options
-rw-r--r-- | drivers/staging/vt6656/main_usb.c | 7 | ||||
-rw-r--r-- | drivers/staging/vt6656/rxtx.c | 5 |
2 files changed, 5 insertions, 7 deletions
diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c index 3fc6862541cc..01e642db311e 100644 --- a/drivers/staging/vt6656/main_usb.c +++ b/drivers/staging/vt6656/main_usb.c @@ -507,13 +507,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) diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c index da075f485298..efb54f53b4f9 100644 --- a/drivers/staging/vt6656/rxtx.c +++ b/drivers/staging/vt6656/rxtx.c @@ -101,9 +101,12 @@ static struct vnt_usb_send_context } } - if (ii == priv->num_tx_context) + if (ii == priv->num_tx_context) { dev_dbg(&priv->usb->dev, "%s No Free Tx Context\n", __func__); + ieee80211_stop_queues(priv->hw); + } + return NULL; } |