cfg80211: introduce TDLS channel switch commands
Introduce commands to initiate and cancel TDLS channel-switching. Once TDLS channel-switching is started, the lower level driver is responsible for continually initiating channel-switch operations and returning to the base (AP) channel to listen for beacons from time to time. Upon cancellation of the channel-switch all communication between the relevant TDLS peers will continue on the base channel. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

parent
c273390569
commit
1057d35ede
@@ -993,4 +993,28 @@ rdev_del_tx_ts(struct cfg80211_registered_device *rdev,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline int
|
||||
rdev_tdls_channel_switch(struct cfg80211_registered_device *rdev,
|
||||
struct net_device *dev, const u8 *addr,
|
||||
u8 oper_class, struct cfg80211_chan_def *chandef)
|
||||
{
|
||||
int ret;
|
||||
|
||||
trace_rdev_tdls_channel_switch(&rdev->wiphy, dev, addr, oper_class,
|
||||
chandef);
|
||||
ret = rdev->ops->tdls_channel_switch(&rdev->wiphy, dev, addr,
|
||||
oper_class, chandef);
|
||||
trace_rdev_return_int(&rdev->wiphy, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline void
|
||||
rdev_tdls_cancel_channel_switch(struct cfg80211_registered_device *rdev,
|
||||
struct net_device *dev, const u8 *addr)
|
||||
{
|
||||
trace_rdev_tdls_cancel_channel_switch(&rdev->wiphy, dev, addr);
|
||||
rdev->ops->tdls_cancel_channel_switch(&rdev->wiphy, dev, addr);
|
||||
trace_rdev_return_void(&rdev->wiphy);
|
||||
}
|
||||
|
||||
#endif /* __CFG80211_RDEV_OPS */
|
||||
|
Reference in New Issue
Block a user