summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorInsun Song <insun.song@broadcom.com>2017-05-12 21:32:44 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-05-12 21:32:44 +0000
commitc9b7625dc090a027ccec387dad4ea7b82ee0d747 (patch)
tree1df933f69dacda9fa289b68d39f3908c46fe13e5
parenta5de9f3d7d5fbb58a3139c9335c745bb5c6c8c3b (diff)
parent96e0be9043ce1a2f04fb6f3d6dec75293258b4cf (diff)
downloadandroid_hardware_broadcom_wlan-c9b7625dc090a027ccec387dad4ea7b82ee0d747.tar.gz
android_hardware_broadcom_wlan-c9b7625dc090a027ccec387dad4ea7b82ee0d747.tar.bz2
android_hardware_broadcom_wlan-c9b7625dc090a027ccec387dad4ea7b82ee0d747.zip
net: wireless: bcmdhd: adding bssid count NL attribute in SWC config am: f57fbe1611 am: 79f1dd5850 am: 2498b6a272
am: 96e0be9043 Change-Id: I34a904cd8e19c84737e12b1d70900218d3c67fad
-rw-r--r--bcmdhd/wifi_hal/gscan.cpp48
1 files changed, 28 insertions, 20 deletions
diff --git a/bcmdhd/wifi_hal/gscan.cpp b/bcmdhd/wifi_hal/gscan.cpp
index 47eea15..d3dc0e7 100644
--- a/bcmdhd/wifi_hal/gscan.cpp
+++ b/bcmdhd/wifi_hal/gscan.cpp
@@ -1436,30 +1436,38 @@ public:
if (result < 0) {
return result;
}
-
- struct nlattr * attr = request.attr_start(GSCAN_ATTRIBUTE_SIGNIFICANT_CHANGE_BSSIDS);
-
- for (int i = 0; i < mParams.num_bssid; i++) {
- nlattr *attr2 = request.attr_start(i);
- if (attr2 == NULL) {
+ result = request.put_u16(GSCAN_ATTRIBUTE_NUM_BSSID, mParams.num_bssid);
+ if (result < 0) {
+ return result;
+ }
+ if (mParams.num_bssid != 0) {
+ nlattr* attr = request.attr_start(GSCAN_ATTRIBUTE_SIGNIFICANT_CHANGE_BSSIDS);
+ if (attr == NULL) {
return WIFI_ERROR_OUT_OF_MEMORY;
}
- result = request.put_addr(GSCAN_ATTRIBUTE_BSSID, mParams.ap[i].bssid);
- if (result < 0) {
- return result;
- }
- result = request.put_u8(GSCAN_ATTRIBUTE_RSSI_HIGH, mParams.ap[i].high);
- if (result < 0) {
- return result;
- }
- result = request.put_u8(GSCAN_ATTRIBUTE_RSSI_LOW, mParams.ap[i].low);
- if (result < 0) {
- return result;
+
+ for (int i = 0; i < mParams.num_bssid; i++) {
+ nlattr* attr2 = request.attr_start(i);
+ if (attr2 == NULL) {
+ return WIFI_ERROR_OUT_OF_MEMORY;
+ }
+ result = request.put_addr(GSCAN_ATTRIBUTE_BSSID, mParams.ap[i].bssid);
+ if (result < 0) {
+ return result;
+ }
+ result = request.put_u8(GSCAN_ATTRIBUTE_RSSI_HIGH, mParams.ap[i].high);
+ if (result < 0) {
+ return result;
+ }
+ result = request.put_u8(GSCAN_ATTRIBUTE_RSSI_LOW, mParams.ap[i].low);
+ if (result < 0) {
+ return result;
+ }
+ request.attr_end(attr2);
}
- request.attr_end(attr2);
- }
- request.attr_end(attr);
+ request.attr_end(attr);
+ }
request.attr_end(data);
return result;