diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2011-09-28 13:29:53 -0700 |
---|---|---|
committer | Arik Nemtsov <arik@wizery.com> | 2012-08-02 13:03:59 +0300 |
commit | be201aff6bffa92d639d7a7a070d47be33cddd6c (patch) | |
tree | e6ecfce8275c72309536e4e542fb913cd2e2670a /src/drivers | |
parent | f9fba92add0c39f864ed19cb71fcdac1d7e00636 (diff) | |
download | external_wpa_supplicant_8_ti-be201aff6bffa92d639d7a7a070d47be33cddd6c.zip external_wpa_supplicant_8_ti-be201aff6bffa92d639d7a7a070d47be33cddd6c.tar.gz external_wpa_supplicant_8_ti-be201aff6bffa92d639d7a7a070d47be33cddd6c.tar.bz2 |
nl80211: Add get_noa() support for WFD certification (BRCM)
BUG: b/5367351
Change-Id: I14ed79e10ade205c5dd4cdc0d2e888ed1279d1bb
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/driver_nl80211.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 5ab292b..80121ea 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -9394,7 +9394,8 @@ static int wpa_driver_nl80211_driver_cmd(void *priv, char *cmd, char *buf, ret = 0; if ((os_strcasecmp(cmd, "LINKSPEED") == 0) || (os_strcasecmp(cmd, "RSSI") == 0) || - (os_strcasecmp(cmd, "GETBAND") == 0)) + (os_strcasecmp(cmd, "GETBAND") == 0) || + (os_strcasecmp(cmd, "P2P_GET_NOA") == 0)) ret = strlen(buf); wpa_printf(MSG_DEBUG, "%s %s len = %d, %d", __func__, @@ -9420,6 +9421,25 @@ static int wpa_driver_set_p2p_noa(void *priv, u8 count, int start, } +static int wpa_driver_get_p2p_noa(void *priv, u8 *buf, size_t len) +{ + char rbuf[MAX_DRV_CMD_SIZE]; + char *cmd = "P2P_GET_NOA"; + int ret; + + wpa_printf(MSG_DEBUG, "%s: Entry", __func__); + os_memset(buf, 0, len); + ret = wpa_driver_nl80211_driver_cmd(priv, cmd, rbuf, sizeof(rbuf)); + if (ret <= 0) + return 0; + ret >>= 1; + if (ret > (int)len) + ret = (int)len; + hexstr2bin(rbuf, buf, ret); + return ret; +} + + static int wpa_driver_set_ap_wps_p2p_ie(void *priv, const struct wpabuf *beacon, const struct wpabuf *proberesp, @@ -9549,6 +9569,7 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = { .tdls_oper = nl80211_tdls_oper, #endif /* CONFIG_TDLS */ #ifdef ANDROID_BRCM_P2P_PATCH + .get_noa = wpa_driver_get_p2p_noa, .set_noa = wpa_driver_set_p2p_noa, .set_ap_wps_ie = wpa_driver_set_ap_wps_p2p_ie, #endif /* ANDROID_BRCM_P2P_PATCH */ |