aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJouni Malinen <jouni@qca.qualcomm.com>2011-12-29 12:15:31 (GMT)
committerJouni Malinen <j@w1.fi>2011-12-29 12:15:31 (GMT)
commitb9fd8ce8040cdbefca9db4e3db62ab51b6c2b192 (patch)
tree83dd4f40a584157ef8f6059dd4abe6e5413109f9 /src
parente91829f9ac3dd20f493f9d22e665d1f5145ffe99 (diff)
downloadhostap-b9fd8ce8040cdbefca9db4e3db62ab51b6c2b192.zip
hostap-b9fd8ce8040cdbefca9db4e3db62ab51b6c2b192.tar.gz
hostap-b9fd8ce8040cdbefca9db4e3db62ab51b6c2b192.tar.bz2
nl80211: Fix NL80211_CMD_FRAME to not try offchannel without driver support
The offchanok parameter is hardcoded to one in number of paths and that added NL80211_ATTR_OFFCHANNEL_TX_OK attribute to NL80211_CMD_FRAME unconditional. cfg80211 rejects this with EINVAL if the driver does not indicate support for offchannel TX. Fix this by not requesting offchannel TX depending on driver capabilities. Remain-on-channel operation was used for those cases anyway, so the additional attribute was not really needed for these in the first place. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'src')
-rw-r--r--src/drivers/driver_nl80211.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 431c890..12bb4fd 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -7876,7 +7876,7 @@ static int nl80211_send_frame_cmd(struct i802_bss *bss,
NLA_PUT_U32(msg, NL80211_ATTR_WIPHY_FREQ, freq);
if (wait)
NLA_PUT_U32(msg, NL80211_ATTR_DURATION, wait);
- if (offchanok)
+ if (offchanok && (drv->capa.flags & WPA_DRIVER_FLAGS_OFFCHANNEL_TX))
NLA_PUT_FLAG(msg, NL80211_ATTR_OFFCHANNEL_TX_OK);
if (no_cck)
NLA_PUT_FLAG(msg, NL80211_ATTR_TX_NO_CCK_RATE);