diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-02-13 12:11:00 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-03-18 20:15:03 +0100 |
commit | 39ecc01d1bbe3de2cf5f01a81e176ea5160d3b95 (patch) | |
tree | 1a75bf065c61f0870ff4d63eac6130998834748c /include/net | |
parent | mac80211/minstrel_ht: do not sample actively used rates (diff) | |
download | linux-39ecc01d1bbe3de2cf5f01a81e176ea5160d3b95.tar.xz linux-39ecc01d1bbe3de2cf5f01a81e176ea5160d3b95.zip |
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>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/mac80211.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 0b912d22f82d..4158da74e11b 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -2438,8 +2438,11 @@ enum ieee80211_roc_type { * @testmode_dump: Implement a cfg80211 test mode dump. The callback can sleep. * * @flush: Flush all pending frames from the hardware queue, making sure - * that the hardware queues are empty. If the parameter @drop is set - * to %true, pending frames may be dropped. The callback can sleep. + * that the hardware queues are empty. The @queues parameter is a bitmap + * of queues to flush, which is useful if different virtual interfaces + * use different hardware queues; it may also indicate all queues. + * If the parameter @drop is set to %true, pending frames may be dropped. + * The callback can sleep. * * @channel_switch: Drivers that need (or want) to offload the channel * switch operation for CSAs received from the AP may implement this @@ -2687,7 +2690,7 @@ struct ieee80211_ops { struct netlink_callback *cb, void *data, int len); #endif - void (*flush)(struct ieee80211_hw *hw, bool drop); + void (*flush)(struct ieee80211_hw *hw, u32 queues, bool drop); void (*channel_switch)(struct ieee80211_hw *hw, struct ieee80211_channel_switch *ch_switch); int (*napi_poll)(struct ieee80211_hw *hw, int budget); |