mac80211: introduce TDLS channel switch ops
Implement the cfg80211 TDLS channel switch ops and introduce new mac80211 ones for low-level drivers. Verify low-level driver support for the new ops when using the relevant wiphy feature bit. Also verify the peer supports channel switching before passing the command down. Add a new STA flag to track the off-channel state with the TDLS peer and make sure to cancel the channel-switch if the peer STA is unexpectedly removed. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
committed by
Johannes Berg
parent
5383758443
commit
a7a6bdd067
@@ -764,6 +764,11 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
|
||||
local->hw.offchannel_tx_hw_queue >= local->hw.queues))
|
||||
return -EINVAL;
|
||||
|
||||
if ((hw->wiphy->features & NL80211_FEATURE_TDLS_CHANNEL_SWITCH) &&
|
||||
(!local->ops->tdls_channel_switch ||
|
||||
!local->ops->tdls_cancel_channel_switch))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
if (hw->wiphy->wowlan && (!local->ops->suspend || !local->ops->resume))
|
||||
return -EINVAL;
|
||||
|
||||
Reference in New Issue
Block a user