diff options
author | Amarnath Hullur Subramanyam <amarnath@codeaurora.org> | 2015-06-24 20:07:33 +0530 |
---|---|---|
committer | Vineeta Srivastava <vsrivastava@google.com> | 2015-07-09 11:59:08 -0700 |
commit | d0d336f8cfaa370fc8f9ff7426ffba0036063c61 (patch) | |
tree | 8c6e20d72879c93da6fd8c86e334de3823d7a997 /qcwcn/wifi_hal/rssi_monitor.cpp | |
parent | ed4dcce93b498214a4be7ff6ec45519a1e47b627 (diff) | |
download | wlan-d0d336f8cfaa370fc8f9ff7426ffba0036063c61.tar.gz |
WiFi-HAL: Maintain request id in the object of wifiVendorCommand
We may need request id in WifiVendorCommand class to compare with
the request id received in asynchronous events. Maintain the
request id received from invoker in the object of
WifiVendorCommand
Change-Id: I6514c912dc41212dc22703af11220378d19551bc
Diffstat (limited to 'qcwcn/wifi_hal/rssi_monitor.cpp')
-rw-r--r-- | qcwcn/wifi_hal/rssi_monitor.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/qcwcn/wifi_hal/rssi_monitor.cpp b/qcwcn/wifi_hal/rssi_monitor.cpp index 1a698ae..e942c7f 100644 --- a/qcwcn/wifi_hal/rssi_monitor.cpp +++ b/qcwcn/wifi_hal/rssi_monitor.cpp @@ -55,6 +55,11 @@ RSSIMonitorCommand::~RSSIMonitorCommand() mRSSIMonitorCommandInstance = NULL; } +void RSSIMonitorCommand::setReqId(wifi_request_id reqid) +{ + mId = reqid; +} + RSSIMonitorCommand* RSSIMonitorCommand::instance(wifi_handle handle, wifi_request_id id) { @@ -78,6 +83,7 @@ RSSIMonitorCommand* RSSIMonitorCommand::instance(wifi_handle handle, ALOGI("Handle different, update the handle"); mRSSIMonitorCommandInstance->mInfo = (hal_info *)handle; } + mRSSIMonitorCommandInstance->setReqId(id); } ALOGV("RSSIMonitorCommand %p created already", mRSSIMonitorCommandInstance); return mRSSIMonitorCommandInstance; @@ -123,10 +129,10 @@ int RSSIMonitorCommand::handleEvent(WifiEvent &event) /* If event has a different request_id, ignore that and use the * request_id value which we're maintaining. */ - if (reqId != wifi_request_id()) { + if (reqId != id()) { ALOGE("%s: Event has Req. ID:%d <> Ours:%d, continue...", - __FUNCTION__, reqId, wifi_request_id()); - reqId = wifi_request_id(); + __FUNCTION__, reqId, id()); + reqId = id(); } ret = get_mac_addr(tb_vendor, QCA_WLAN_VENDOR_ATTR_RSSI_MONITORING_CUR_BSSID, @@ -175,9 +181,9 @@ int RSSIMonitorCommand::setCallbackHandler(wifi_rssi_event_handler nHandler, return ret; } -wifi_error RSSIMonitorCommand::unregisterHandler(u32 subCmd, wifi_request_id id) +wifi_error RSSIMonitorCommand::unregisterHandler(u32 subCmd, wifi_request_id reqid) { - if (id != (wifi_request_id)mVendor_id) + if (reqid != id()) return WIFI_ERROR_INVALID_REQUEST_ID; unregisterVendorHandler(mVendor_id, subCmd); return WIFI_SUCCESS; @@ -195,7 +201,7 @@ wifi_error wifi_start_rssi_monitoring(wifi_request_id id, wifi_handle wifiHandle = getWifiHandle(iface); RSSIMonitorCommand *rssiCommand; - ret = initialize_vendor_cmd(iface, + ret = initialize_vendor_cmd(iface, id, QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI, &vCommand); if (ret != WIFI_SUCCESS) { @@ -256,7 +262,7 @@ wifi_error wifi_stop_rssi_monitoring(wifi_request_id id, wifi_handle wifiHandle = getWifiHandle(iface); RSSIMonitorCommand *rssiCommand; - ret = initialize_vendor_cmd(iface, + ret = initialize_vendor_cmd(iface, id, QCA_NL80211_VENDOR_SUBCMD_MONITOR_RSSI, &vCommand); if (ret != WIFI_SUCCESS) { |