Przeglądaj źródła

wl1271: set radio and general params also for PLT

We need to set the radio and general parameters when starting PLT mode.  This
patch adds calls to TEST_CMD_INI_RADIO_PARAMS and
TEST_CMD_INIT_GENERAL_PARAMS when initializing PLT mode.

Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Luciano Coelho 15 lat temu
rodzic
commit
cc7defa366

+ 2 - 2
drivers/net/wireless/wl12xx/wl1271_init.c

@@ -193,7 +193,7 @@ static int wl1271_init_beacon_broadcast(struct wl1271 *wl)
 	return 0;
 }
 
-static int wl1271_init_general_parms(struct wl1271 *wl)
+int wl1271_init_general_parms(struct wl1271 *wl)
 {
 	struct wl1271_general_parms *gen_parms;
 	struct conf_general_parms *g = &wl->conf.init.genparam;
@@ -224,7 +224,7 @@ static int wl1271_init_general_parms(struct wl1271 *wl)
 	return 0;
 }
 
-static int wl1271_init_radio_parms(struct wl1271 *wl)
+int wl1271_init_radio_parms(struct wl1271 *wl)
 {
 	struct wl1271_radio_parms *radio_parms;
 	struct conf_radio_parms *r = &wl->conf.init.radioparam;

+ 2 - 0
drivers/net/wireless/wl12xx/wl1271_init.h

@@ -28,6 +28,8 @@
 
 int wl1271_hw_init_power_auth(struct wl1271 *wl);
 int wl1271_hw_init(struct wl1271 *wl);
+int wl1271_init_general_parms(struct wl1271 *wl);
+int wl1271_init_radio_parms(struct wl1271 *wl);
 
 /* These are not really a TEST_CMD, but the ref driver uses them as such */
 #define TEST_CMD_INI_FILE_RADIO_PARAM   0x19

+ 11 - 0
drivers/net/wireless/wl12xx/wl1271_main.c

@@ -354,6 +354,17 @@ static int wl1271_plt_init(struct wl1271 *wl)
 {
 	int ret;
 
+	/* FIXME: the following parameter setting functions return error
+	 * codes - the reason is so far unknown. The -EIO is therefore
+	 * ignored for the time being. */
+	ret = wl1271_init_general_parms(wl);
+	if (ret < 0 && ret != -EIO)
+		return ret;
+
+	ret = wl1271_init_radio_parms(wl);
+	if (ret < 0 && ret != -EIO)
+		return ret;
+
 	ret = wl1271_acx_init_mem_config(wl);
 	if (ret < 0)
 		return ret;