diff options
author | Ashwin <ashwin.bhat@broadcom.com> | 2015-05-15 17:15:12 -0700 |
---|---|---|
committer | Pierre Vandwalle <vandwalle@google.com> | 2015-05-18 17:18:03 -0700 |
commit | 25a0fb843d8b6d9141ccb435f1f9ee9a29d3afc6 (patch) | |
tree | 99ae800e738c4dcb63696068dec7e94dd9f06ce5 /bcmdhd/wifi_hal | |
parent | 79bf2da054de59ee905934a25a108327398a873d (diff) | |
download | hardware_broadcom_wlan-25a0fb843d8b6d9141ccb435f1f9ee9a29d3afc6.zip hardware_broadcom_wlan-25a0fb843d8b6d9141ccb435f1f9ee9a29d3afc6.tar.gz hardware_broadcom_wlan-25a0fb843d8b6d9141ccb435f1f9ee9a29d3afc6.tar.bz2 |
Enable adaptive channel bucket and ePNO bssid
1. Enabled binary adaptive channel bucket params
2. Added BSSID to ePNO BSSID
Needs FW version 7.35.79.82 or greater
Change-Id: I460c309e6c0847213c268d1837e01dd446009ba8
Signed-off-by: Ashwin <ashwin.bhat@broadcom.com>
Diffstat (limited to 'bcmdhd/wifi_hal')
-rw-r--r-- | bcmdhd/wifi_hal/common.h | 1 | ||||
-rw-r--r-- | bcmdhd/wifi_hal/gscan.cpp | 17 |
2 files changed, 17 insertions, 1 deletions
diff --git a/bcmdhd/wifi_hal/common.h b/bcmdhd/wifi_hal/common.h index 3259f62..c56a038 100644 --- a/bcmdhd/wifi_hal/common.h +++ b/bcmdhd/wifi_hal/common.h @@ -177,6 +177,7 @@ typedef struct wifi_pno_result { signed char rssi; u16 channel; u16 flags; + mac_addr bssid; } wifi_pno_result_t; wifi_error wifi_register_handler(wifi_handle handle, int cmd, nl_recvmsg_msg_cb_t func, void *arg); diff --git a/bcmdhd/wifi_hal/gscan.cpp b/bcmdhd/wifi_hal/gscan.cpp index 8acc498..a436290 100644 --- a/bcmdhd/wifi_hal/gscan.cpp +++ b/bcmdhd/wifi_hal/gscan.cpp @@ -127,6 +127,10 @@ typedef enum { GSCAN_ATTRIBUTE_ANQPO_HS_ROAM_CONSORTIUM_ID, GSCAN_ATTRIBUTE_ANQPO_HS_PLMN, + /* Adaptive scan attributes */ + GSCAN_ATTRIBUTE_BUCKET_STEP_COUNT = 120, + GSCAN_ATTRIBUTE_BUCKET_MAX_PERIOD, + GSCAN_ATTRIBUTE_MAX } GSCAN_ATTRIBUTE; @@ -485,7 +489,16 @@ public: if (result < 0) { return result; } - + result = request.put_u32(GSCAN_ATTRIBUTE_BUCKET_STEP_COUNT, + mParams->buckets[i].step_count); + if (result < 0) { + return result; + } + result = request.put_u32(GSCAN_ATTRIBUTE_BUCKET_MAX_PERIOD, + mParams->buckets[i].max_period); + if (result < 0) { + return result; + } result = request.put_u32(GSCAN_ATTRIBUTE_REPORT_EVENTS, mParams->buckets[i].report_events); if (result < 0) { @@ -1301,6 +1314,8 @@ public: for (i = 0; i < num; i++) { if (res[i].flags == PNO_SSID_FOUND) { memcpy(mResults[i].ssid, res[i].ssid, res[i].ssid_len); + memcpy(mResults[i].bssid, res[i].bssid, sizeof(mac_addr)); + mResults[i].ssid[res[i].ssid_len] = '\0'; mResults[i].channel = res[i].channel; mResults[i].rssi = res[i].rssi; |