summaryrefslogtreecommitdiffstats
path: root/libwifi_hal
diff options
context:
space:
mode:
authorChristopher Wiley <wiley@google.com>2016-08-22 10:23:22 -0700
committerChristopher Wiley <wiley@google.com>2016-08-22 18:05:33 -0700
commit1d3a41b9b46eb573058fdd7422d4ebc5b4f1108f (patch)
treea976c7d64b1851f861561227c9602bf24438840e /libwifi_hal
parentb8157c6e5b77e3503757cedcc4e62f49309c106b (diff)
downloadandroid_frameworks_opt_net_wifi-1d3a41b9b46eb573058fdd7422d4ebc5b4f1108f.tar.gz
android_frameworks_opt_net_wifi-1d3a41b9b46eb573058fdd7422d4ebc5b4f1108f.tar.bz2
android_frameworks_opt_net_wifi-1d3a41b9b46eb573058fdd7422d4ebc5b4f1108f.zip
Allow wificond to run as wifi:wifi
Expose the firmware path from libwifi_hal. We need to access this at wificond startup to chown the firmware reload path to wifi:wifi. Remove some superfluous chown calls. The callsites should only be used from wificond. Bug: 29870863 Test: wificond unit and integration tests pass Change-Id: If2fa38be252999a01f6d967ca8601d1789318103
Diffstat (limited to 'libwifi_hal')
-rw-r--r--libwifi_hal/Android.mk4
-rw-r--r--libwifi_hal/driver_tool.cpp2
-rw-r--r--libwifi_hal/include/wifi_hal/driver_tool.h2
-rw-r--r--libwifi_hal/wifi_hal_common.cpp3
4 files changed, 8 insertions, 3 deletions
diff --git a/libwifi_hal/Android.mk b/libwifi_hal/Android.mk
index f39617c32..f93015902 100644
--- a/libwifi_hal/Android.mk
+++ b/libwifi_hal/Android.mk
@@ -43,8 +43,12 @@ endif
ifdef WIFI_DRIVER_FW_PATH_P2P
wifi_hal_cflags += -DWIFI_DRIVER_FW_PATH_P2P=\"$(WIFI_DRIVER_FW_PATH_P2P)\"
endif
+
+# Some devices use a different path (e.g. devices with broadcom WiFi parts).
ifdef WIFI_DRIVER_FW_PATH_PARAM
wifi_hal_cflags += -DWIFI_DRIVER_FW_PATH_PARAM=\"$(WIFI_DRIVER_FW_PATH_PARAM)\"
+else
+wifi_hal_cflags += -DWIFI_DRIVER_FW_PATH_PARAM=\"/sys/module/wlan/parameters/fwpath\"
endif
ifdef WIFI_DRIVER_STATE_CTRL_PARAM
diff --git a/libwifi_hal/driver_tool.cpp b/libwifi_hal/driver_tool.cpp
index 688017b5c..6b0b7522b 100644
--- a/libwifi_hal/driver_tool.cpp
+++ b/libwifi_hal/driver_tool.cpp
@@ -25,6 +25,8 @@ const int DriverTool::kFirmwareModeSta = WIFI_GET_FW_PATH_STA;
const int DriverTool::kFirmwareModeAp = WIFI_GET_FW_PATH_AP;
const int DriverTool::kFirmwareModeP2p = WIFI_GET_FW_PATH_P2P;
+const char DriverTool::kFirmwareReloadPath[] = WIFI_DRIVER_FW_PATH_PARAM;
+
bool DriverTool::LoadDriver() {
return ::wifi_load_driver() == 0;
}
diff --git a/libwifi_hal/include/wifi_hal/driver_tool.h b/libwifi_hal/include/wifi_hal/driver_tool.h
index f1a43cc0c..376d17d93 100644
--- a/libwifi_hal/include/wifi_hal/driver_tool.h
+++ b/libwifi_hal/include/wifi_hal/driver_tool.h
@@ -27,6 +27,8 @@ class DriverTool {
static const int kFirmwareModeAp;
static const int kFirmwareModeP2p;
+ static const char kFirmwareReloadPath[];
+
DriverTool() = default;
virtual ~DriverTool() = default;
diff --git a/libwifi_hal/wifi_hal_common.cpp b/libwifi_hal/wifi_hal_common.cpp
index 86d5db7e5..f207eb786 100644
--- a/libwifi_hal/wifi_hal_common.cpp
+++ b/libwifi_hal/wifi_hal_common.cpp
@@ -38,9 +38,6 @@ extern "C" int delete_module(const char *, unsigned int);
#ifndef WIFI_DRIVER_FW_PATH_P2P
#define WIFI_DRIVER_FW_PATH_P2P NULL
#endif
-#ifndef WIFI_DRIVER_FW_PATH_PARAM
-#define WIFI_DRIVER_FW_PATH_PARAM "/sys/module/wlan/parameters/fwpath"
-#endif
#ifndef WIFI_DRIVER_MODULE_ARG
#define WIFI_DRIVER_MODULE_ARG ""