- /* stop processing outgoing pkts */
- netif_stop_queue(priv->dev);
- if (priv->mesh_dev)
- netif_stop_queue(priv->mesh_dev);
- /* freeze any packets already in our queues */
- priv->adapter->TxLockFlag = 1;
- } else {
- dev_kfree_skb_any(skb);
- priv->adapter->currenttxskb = NULL;
- }
-
- lbs_deb_leave_args(LBS_DEB_TX, "ret %d", ret);
- return ret;
-}
-
-
-void libertas_tx_runqueue(wlan_private *priv)
-{
- wlan_adapter *adapter = priv->adapter;
- int i;
-
- spin_lock(&adapter->txqueue_lock);
- for (i = 0; i < adapter->tx_queue_idx; i++) {
- struct sk_buff *skb = adapter->tx_queue_ps[i];
- spin_unlock(&adapter->txqueue_lock);
- SendSinglePacket(priv, skb);
- spin_lock(&adapter->txqueue_lock);
- }
- adapter->tx_queue_idx = 0;
- spin_unlock(&adapter->txqueue_lock);
-}