diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-06-05 08:28:40 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-06-06 15:20:33 -0400 |
commit | 196ac1c13d4db6c276dbb1c9190c8d7d45a83f1f (patch) | |
tree | 68d2a1b99ec08d685381c812e38d0f18553e1cee /include/net/mac80211.h | |
parent | 491b26b40222cc769c163e77177697dd7a63c316 (diff) |
mac80211: do remain-on-channel while idle
The IDLE handling in HW off-channel is broken right
now since we turn off IDLE only when the off-channel
period already started. Therefore, all drivers that
use it today (only iwlwifi!) must support off-channel
while idle, so playing with idle isn't needed at all.
Off-channel in general, since it's no longer used for
authentication/association, shouldn't affect PS, so
also remove that logic.
Also document a small caveat for reporting TX status
from off-channel frames in HW remain-on-channel.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index d2ed86da8e4c..6e700bf8d4a5 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -2183,7 +2183,13 @@ enum ieee80211_rate_control_changed { | |||
2183 | * offload. Frames to transmit on the off-channel channel are transmitted | 2183 | * offload. Frames to transmit on the off-channel channel are transmitted |
2184 | * normally except for the %IEEE80211_TX_CTL_TX_OFFCHAN flag. When the | 2184 | * normally except for the %IEEE80211_TX_CTL_TX_OFFCHAN flag. When the |
2185 | * duration (which will always be non-zero) expires, the driver must call | 2185 | * duration (which will always be non-zero) expires, the driver must call |
2186 | * ieee80211_remain_on_channel_expired(). This callback may sleep. | 2186 | * ieee80211_remain_on_channel_expired(). |
2187 | * The driver must not call ieee80211_remain_on_channel_expired() before | ||
2188 | * the TX status for a frame that was sent off-channel, otherwise the TX | ||
2189 | * status is reported to userspace in an invalid way. | ||
2190 | * Note that this callback may be called while the device is in IDLE and | ||
2191 | * must be accepted in this case. | ||
2192 | * This callback may sleep. | ||
2187 | * @cancel_remain_on_channel: Requests that an ongoing off-channel period is | 2193 | * @cancel_remain_on_channel: Requests that an ongoing off-channel period is |
2188 | * aborted before it expires. This callback may sleep. | 2194 | * aborted before it expires. This callback may sleep. |
2189 | * | 2195 | * |