summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Shmidt <dimitrysh@google.com>2011-07-20 10:31:30 -0700
committerDmitry Shmidt <dimitrysh@google.com>2011-07-21 17:14:25 -0700
commit3a08bc6c0627d7788217796dfc64c367ca1e53e1 (patch)
tree84f9ee1925df4b4204731ca6801d5b48bedf072a
parent8c44d8239691332aab357c001db5f52b1dc3f01f (diff)
net: wireless: bcmdhd: Allow firmware_path parameter change
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
-rw-r--r--drivers/net/wireless/bcmdhd/dhd_linux.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/bcmdhd/dhd_linux.c b/drivers/net/wireless/bcmdhd/dhd_linux.c
index ff9f9fa9c21..e318017ff80 100644
--- a/drivers/net/wireless/bcmdhd/dhd_linux.c
+++ b/drivers/net/wireless/bcmdhd/dhd_linux.c
@@ -290,7 +290,7 @@ module_param(dhd_sysioc, uint, 0);
module_param(dhd_msg_level, int, 0);
/* load firmware and/or nvram values from the filesystem */
-module_param_string(firmware_path, firmware_path, MOD_PARAM_PATHLEN, 0);
+module_param_string(firmware_path, firmware_path, MOD_PARAM_PATHLEN, 0660);
module_param_string(nvram_path, nvram_path, MOD_PARAM_PATHLEN, 0);
/* Watchdog interval */
@@ -2223,6 +2223,13 @@ dhd_open(struct net_device *net)
int ifidx;
int32 ret = 0;
+ /* Update FW path if it was changed */
+ if ((firmware_path != NULL) && (firmware_path[0] != '\0')) {
+ if (firmware_path[strlen(firmware_path)-1] == '\n')
+ firmware_path[strlen(firmware_path)-1] = '\0';
+ strcpy(fw_path, firmware_path);
+ firmware_path[0] = '\0';
+ }
#if !defined(WL_CFG80211)
/** Force start if ifconfig_up gets called before START command
* We keep WEXT's wl_control_wl_start to provide backward compatibility