cfg80211: make action channel type optional
When sending action frames, we want to verify that we do that on the correct channel. However, checking the channel type in addition can get in the way, since the channel type could change on the fly during an association, and it's not useful to have the channel type anyway since it has no effect on the transmission. Therefore, make it optional to specify so that if wanted, it can still be checked, but is not required. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
4f424867dd
commit
252aa631f8
+6
-3
@@ -2308,6 +2308,7 @@ int ieee80211_mgd_disassoc(struct ieee80211_sub_if_data *sdata,
|
||||
int ieee80211_mgd_action(struct ieee80211_sub_if_data *sdata,
|
||||
struct ieee80211_channel *chan,
|
||||
enum nl80211_channel_type channel_type,
|
||||
bool channel_type_valid,
|
||||
const u8 *buf, size_t len, u64 *cookie)
|
||||
{
|
||||
struct ieee80211_local *local = sdata->local;
|
||||
@@ -2315,9 +2316,11 @@ int ieee80211_mgd_action(struct ieee80211_sub_if_data *sdata,
|
||||
struct sk_buff *skb;
|
||||
|
||||
/* Check that we are on the requested channel for transmission */
|
||||
if ((chan != local->tmp_channel ||
|
||||
channel_type != local->tmp_channel_type) &&
|
||||
(chan != local->oper_channel ||
|
||||
if (chan != local->tmp_channel &&
|
||||
chan != local->oper_channel)
|
||||
return -EBUSY;
|
||||
if (channel_type_valid &&
|
||||
(channel_type != local->tmp_channel_type &&
|
||||
channel_type != local->_oper_channel_type))
|
||||
return -EBUSY;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user