struct ieee80211_local *local = hw_to_local(hw);
if (test_bit(queue, local->queues_pending)) {
+ set_bit(queue, local->queues_pending_run);
tasklet_schedule(&local->tx_pending_tasklet);
} else {
- if (ieee80211_is_multiqueue(local)) {
- netif_wake_subqueue(local->mdev, queue);
- } else {
- WARN_ON(queue != 0);
- netif_wake_queue(local->mdev);
- }
+ netif_wake_subqueue(local->mdev, queue);
}
}
EXPORT_SYMBOL(ieee80211_wake_queue);
{
struct ieee80211_local *local = hw_to_local(hw);
- if (ieee80211_is_multiqueue(local)) {
- netif_stop_subqueue(local->mdev, queue);
- } else {
- WARN_ON(queue != 0);
- netif_stop_queue(local->mdev);
- }
+ netif_stop_subqueue(local->mdev, queue);
}
EXPORT_SYMBOL(ieee80211_stop_queue);
case IEEE80211_IF_TYPE_MESH_POINT:
break;
}
- if (sdata->dev == local->mdev)
- continue;
if (netif_running(sdata->dev))
iterator(data, sdata->dev->dev_addr,
&sdata->vif);
case IEEE80211_IF_TYPE_MESH_POINT:
break;
}
- if (sdata->dev == local->mdev)
- continue;
if (netif_running(sdata->dev))
iterator(data, sdata->dev->dev_addr,
&sdata->vif);