Commit b914b494 authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman

staging: vt6656: don't stop TX queue unless buffer full.

Presently the TX buffer stops while filling the buffer and urb.

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
URB complete will start the queue again when a
buffer and URB is available.
Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 49a315bf
......@@ -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)
......
......@@ -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;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment