mac80211: pass queue bitmap to flush operation

There are a number of situations in which mac80211 only
really needs to flush queues for one virtual interface,
and in fact during this frames might be transmitted on
other virtual interfaces. Calculate and pass a queue
bitmap to the driver so it knows which queues to flush.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg
2013-02-13 12:11:00 +01:00
parent a0ca796c46
commit 39ecc01d1b
23 changed files with 67 additions and 34 deletions

View File

@@ -720,13 +720,14 @@ static inline void drv_rfkill_poll(struct ieee80211_local *local)
local->ops->rfkill_poll(&local->hw);
}
static inline void drv_flush(struct ieee80211_local *local, bool drop)
static inline void drv_flush(struct ieee80211_local *local,
u32 queues, bool drop)
{
might_sleep();
trace_drv_flush(local, drop);
trace_drv_flush(local, queues, drop);
if (local->ops->flush)
local->ops->flush(&local->hw, drop);
local->ops->flush(&local->hw, queues, drop);
trace_drv_return_void(local);
}