aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2016-09-12 17:28:22 (GMT)
committerJouni Malinen <j@w1.fi>2016-09-17 17:08:24 (GMT)
commitea19b39f60b60494e17171aae5556cca2addff47 (patch)
tree47081be29e571745166cdf35b66323046ed0d90e
parent205d2d1ff5f224e21634e25fe2decc911fb1be45 (diff)
downloadhostap-ea19b39f60b60494e17171aae5556cca2addff47.zip
hostap-ea19b39f60b60494e17171aae5556cca2addff47.tar.gz
hostap-ea19b39f60b60494e17171aae5556cca2addff47.tar.bz2
Revert "nl80211: Remove duplicated check in nl80211_setup_ap()"
This reverts commit 647862eb60c324015ea31293cc052558b5185ca4. The second check of device_ap_sme looks like duplicated, but it isn't actually. The trick is nl80211_create_monitor_interface may change that variable value and the second evaluation may give a different result. This definitely isn't a very clear code, but that change caused a regression for drivers that: 1) Don't report NL80211_ATTR_DEVICE_AP_SME 2) Don't support monitor mode 3) Don't support subscribing for PROBE_REQ and/or ACTION frames like brcmfmac. With such drivers hostapd doesn't start anymore. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-rw-r--r--src/drivers/driver_nl80211.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 8d43c69..24154b9 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -4434,7 +4434,8 @@ static int nl80211_setup_ap(struct i802_bss *bss)
"nl80211: Failed to subscribe for mgmt frames from SME driver - trying to run without it");
if (!drv->device_ap_sme && drv->use_monitor &&
- nl80211_create_monitor_interface(drv))
+ nl80211_create_monitor_interface(drv) &&
+ !drv->device_ap_sme)
return -1;
if (drv->device_ap_sme &&