Commit 94210897 authored by Luciano Coelho's avatar Luciano Coelho Committed by John W. Linville

wl1271: use channel 1 when configuring the data path

In the data path configuration, one of the parameters is the channel.  We
have been setting it to wl->channel, which is not correct in this case.  This
channel has nothing to do with the channel we're currently tuned to, since it
is only used for calibration during this phase.  Hardcoded the channel to 1,
according to the reference driver.
Signed-off-by: default avatarLuciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: default avatarJuuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 3ed8f2c6
...@@ -505,7 +505,7 @@ int wl1271_cmd_configure(struct wl1271 *wl, u16 id, void *buf, size_t len) ...@@ -505,7 +505,7 @@ int wl1271_cmd_configure(struct wl1271 *wl, u16 id, void *buf, size_t len)
return 0; return 0;
} }
int wl1271_cmd_data_path(struct wl1271 *wl, u8 channel, bool enable) int wl1271_cmd_data_path(struct wl1271 *wl, bool enable)
{ {
struct cmd_enabledisable_path *cmd; struct cmd_enabledisable_path *cmd;
int ret; int ret;
...@@ -519,7 +519,8 @@ int wl1271_cmd_data_path(struct wl1271 *wl, u8 channel, bool enable) ...@@ -519,7 +519,8 @@ int wl1271_cmd_data_path(struct wl1271 *wl, u8 channel, bool enable)
goto out; goto out;
} }
cmd->channel = channel; /* the channel here is only used for calibration, so hardcoded to 1 */
cmd->channel = 1;
if (enable) { if (enable) {
cmd_rx = CMD_ENABLE_RX; cmd_rx = CMD_ENABLE_RX;
...@@ -532,22 +533,22 @@ int wl1271_cmd_data_path(struct wl1271 *wl, u8 channel, bool enable) ...@@ -532,22 +533,22 @@ int wl1271_cmd_data_path(struct wl1271 *wl, u8 channel, bool enable)
ret = wl1271_cmd_send(wl, cmd_rx, cmd, sizeof(*cmd), 0); ret = wl1271_cmd_send(wl, cmd_rx, cmd, sizeof(*cmd), 0);
if (ret < 0) { if (ret < 0) {
wl1271_error("rx %s cmd for channel %d failed", wl1271_error("rx %s cmd for channel %d failed",
enable ? "start" : "stop", channel); enable ? "start" : "stop", cmd->channel);
goto out; goto out;
} }
wl1271_debug(DEBUG_BOOT, "rx %s cmd channel %d", wl1271_debug(DEBUG_BOOT, "rx %s cmd channel %d",
enable ? "start" : "stop", channel); enable ? "start" : "stop", cmd->channel);
ret = wl1271_cmd_send(wl, cmd_tx, cmd, sizeof(*cmd), 0); ret = wl1271_cmd_send(wl, cmd_tx, cmd, sizeof(*cmd), 0);
if (ret < 0) { if (ret < 0) {
wl1271_error("tx %s cmd for channel %d failed", wl1271_error("tx %s cmd for channel %d failed",
enable ? "start" : "stop", channel); enable ? "start" : "stop", cmd->channel);
return ret; return ret;
} }
wl1271_debug(DEBUG_BOOT, "tx %s cmd channel %d", wl1271_debug(DEBUG_BOOT, "tx %s cmd channel %d",
enable ? "start" : "stop", channel); enable ? "start" : "stop", cmd->channel);
out: out:
kfree(cmd); kfree(cmd);
......
...@@ -37,7 +37,7 @@ int wl1271_cmd_join(struct wl1271 *wl); ...@@ -37,7 +37,7 @@ int wl1271_cmd_join(struct wl1271 *wl);
int wl1271_cmd_test(struct wl1271 *wl, void *buf, size_t buf_len, u8 answer); int wl1271_cmd_test(struct wl1271 *wl, void *buf, size_t buf_len, u8 answer);
int wl1271_cmd_interrogate(struct wl1271 *wl, u16 id, void *buf, size_t len); int wl1271_cmd_interrogate(struct wl1271 *wl, u16 id, void *buf, size_t len);
int wl1271_cmd_configure(struct wl1271 *wl, u16 id, void *buf, size_t len); int wl1271_cmd_configure(struct wl1271 *wl, u16 id, void *buf, size_t len);
int wl1271_cmd_data_path(struct wl1271 *wl, u8 channel, bool enable); int wl1271_cmd_data_path(struct wl1271 *wl, bool enable);
int wl1271_cmd_ps_mode(struct wl1271 *wl, u8 ps_mode); int wl1271_cmd_ps_mode(struct wl1271 *wl, u8 ps_mode);
int wl1271_cmd_read_memory(struct wl1271 *wl, u32 addr, void *answer, int wl1271_cmd_read_memory(struct wl1271 *wl, u32 addr, void *answer,
size_t len); size_t len);
......
...@@ -289,7 +289,7 @@ int wl1271_hw_init(struct wl1271 *wl) ...@@ -289,7 +289,7 @@ int wl1271_hw_init(struct wl1271 *wl)
goto out_free_memmap; goto out_free_memmap;
/* Enable data path */ /* Enable data path */
ret = wl1271_cmd_data_path(wl, wl->channel, 1); ret = wl1271_cmd_data_path(wl, 1);
if (ret < 0) if (ret < 0)
goto out_free_memmap; goto out_free_memmap;
......
...@@ -384,7 +384,7 @@ static int wl1271_plt_init(struct wl1271 *wl) ...@@ -384,7 +384,7 @@ static int wl1271_plt_init(struct wl1271 *wl)
if (ret < 0) if (ret < 0)
return ret; return ret;
ret = wl1271_cmd_data_path(wl, wl->channel, 1); ret = wl1271_cmd_data_path(wl, 1);
if (ret < 0) if (ret < 0)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment