summaryrefslogtreecommitdiffstats
path: root/bcmdhd/wifi_hal/gscan.cpp
diff options
context:
space:
mode:
authorVinit Deshapnde <vinitd@google.com>2014-05-05 11:29:53 -0700
committerVinit Deshapnde <vinitd@google.com>2014-05-07 19:26:32 -0700
commit09f45268753c6021b621e0be82a6808cebbaa37d (patch)
tree2e2bad6d2e6aeb718584020efa26ab542b1b1056 /bcmdhd/wifi_hal/gscan.cpp
parent1a526434ae215b48970501ccb463d4e77af39c9e (diff)
downloadhardware_broadcom_wlan-09f45268753c6021b621e0be82a6808cebbaa37d.zip
hardware_broadcom_wlan-09f45268753c6021b621e0be82a6808cebbaa37d.tar.gz
hardware_broadcom_wlan-09f45268753c6021b621e0be82a6808cebbaa37d.tar.bz2
Workaround for report_events functionality
This change sets mscan value to 1 if any of the buckets has report_events set to some value other than zero. This is a workaround till per bucket functionality is implemented. Also includes some logging improvements. Change-Id: I7f10970f777f3498b3d69ef59dce6409b4830e2e
Diffstat (limited to 'bcmdhd/wifi_hal/gscan.cpp')
-rw-r--r--bcmdhd/wifi_hal/gscan.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/bcmdhd/wifi_hal/gscan.cpp b/bcmdhd/wifi_hal/gscan.cpp
index 39cbce4..0e0e3db 100644
--- a/bcmdhd/wifi_hal/gscan.cpp
+++ b/bcmdhd/wifi_hal/gscan.cpp
@@ -312,7 +312,15 @@ public:
return result;
}
- result = request.put_u32(GSCAN_ATTRIBUTE_NUM_SCANS_TO_CACHE, 3);
+ int num_scans = 10;
+ for (int i = 0; i < mParams->num_buckets; i++) {
+ if (mParams->buckets[i].report_events != 0) {
+ num_scans = 1;
+ break;
+ }
+ }
+
+ result = request.put_u32(GSCAN_ATTRIBUTE_NUM_SCANS_TO_CACHE, num_scans);
if (result < 0) {
return result;
}
@@ -404,7 +412,7 @@ public:
virtual int handleEvent(WifiEvent& event) {
ALOGI("Got a scan results event");
- event.log();
+ // event.log();
nlattr *vendor_data = event.get_attribute(NL80211_ATTR_VENDOR_DATA);
int len = event.get_vendor_data_len();
@@ -570,9 +578,10 @@ public:
wifi_scan_result *results = (wifi_scan_result *)it2.get_data();
for (int i = 0; i < num; i++) {
wifi_scan_result *result = results + i;
- ALOGI("%02d %-32s %02x:%02x:%02x:%02x:%02x:%02x", i,
+ ALOGI("%02d %-32s %02x:%02x:%02x:%02x:%02x:%02x %04d", i,
result->ssid, result->bssid[0], result->bssid[1], result->bssid[2],
- result->bssid[3], result->bssid[4], result->bssid[5]);
+ result->bssid[3], result->bssid[4], result->bssid[5],
+ result->rssi);
}
mRetrieved += num;
} else {
@@ -731,7 +740,7 @@ public:
virtual int handleEvent(WifiEvent& event) {
ALOGI("Got a hotlist ap found event");
- event.log();
+ // event.log();
nlattr *vendor_data = event.get_attribute(NL80211_ATTR_VENDOR_DATA);
int len = event.get_vendor_data_len();
@@ -871,9 +880,6 @@ public:
return result;
}
- WifiEvent e(request.getMessage());
- e.log();
-
result = requestResponse(request);
if (result < 0) {
ALOGI("failed to set significant wifi change config %d", result);