aboutsummaryrefslogtreecommitdiffstats
path: root/src/ap/ap_drv_ops.c
diff options
context:
space:
mode:
authorPeng Xu <pxu@qca.qualcomm.com>2014-11-18 18:11:09 (GMT)
committerJouni Malinen <j@w1.fi>2014-12-03 20:31:53 (GMT)
commit16689c7cfc99c66aecbf16eb2f4a8bc941cb5d0f (patch)
tree99569ec2374d7de19dcbc60749e221270334635d /src/ap/ap_drv_ops.c
parentf34891a3af5148f48472ae225026b462b58225bd (diff)
downloadhostap-16689c7cfc99c66aecbf16eb2f4a8bc941cb5d0f.zip
hostap-16689c7cfc99c66aecbf16eb2f4a8bc941cb5d0f.tar.gz
hostap-16689c7cfc99c66aecbf16eb2f4a8bc941cb5d0f.tar.bz2
hostapd: Allow ACS to be offloaded to the driver
Using QCA vendor command, allow ACS function to be offloaded to the driver. Once channels are selected, hostapd is notified to perform OBSS operation. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Diffstat (limited to 'src/ap/ap_drv_ops.c')
-rw-r--r--src/ap/ap_drv_ops.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c
index 262fdcd..9ebcf8f 100644
--- a/src/ap/ap_drv_ops.c
+++ b/src/ap/ap_drv_ops.c
@@ -793,3 +793,18 @@ int hostapd_drv_set_qos_map(struct hostapd_data *hapd,
return hapd->driver->set_qos_map(hapd->drv_priv, qos_map_set,
qos_map_set_len);
}
+
+
+int hostapd_drv_do_acs(struct hostapd_data *hapd)
+{
+ struct drv_acs_params params;
+
+ if (hapd->driver == NULL || hapd->driver->do_acs == NULL)
+ return 0;
+ os_memset(&params, 0, sizeof(params));
+ params.hw_mode = hapd->iface->conf->hw_mode;
+ params.ht_enabled = !!(hapd->iface->conf->ieee80211n);
+ params.ht40_enabled = !!(hapd->iface->conf->ht_capab |
+ HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET);
+ return hapd->driver->do_acs(hapd->drv_priv, &params);
+}