Skip to content

Commit

Permalink
wl1271: use channel 1 when configuring the data path
Browse files Browse the repository at this point in the history
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: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Luciano Coelho authored and John W. Linville committed Dec 28, 2009
1 parent 3ed8f2c commit 9421089
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 9 deletions.
13 changes: 7 additions & 6 deletions drivers/net/wireless/wl12xx/wl1271_cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,7 @@ int wl1271_cmd_configure(struct wl1271 *wl, u16 id, void *buf, size_t len)
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;
int ret;
Expand All @@ -519,7 +519,8 @@ int wl1271_cmd_data_path(struct wl1271 *wl, u8 channel, bool enable)
goto out;
}

cmd->channel = channel;
/* the channel here is only used for calibration, so hardcoded to 1 */
cmd->channel = 1;

if (enable) {
cmd_rx = CMD_ENABLE_RX;
Expand All @@ -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);
if (ret < 0) {
wl1271_error("rx %s cmd for channel %d failed",
enable ? "start" : "stop", channel);
enable ? "start" : "stop", cmd->channel);
goto out;
}

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);
if (ret < 0) {
wl1271_error("tx %s cmd for channel %d failed",
enable ? "start" : "stop", channel);
enable ? "start" : "stop", cmd->channel);
return ret;
}

wl1271_debug(DEBUG_BOOT, "tx %s cmd channel %d",
enable ? "start" : "stop", channel);
enable ? "start" : "stop", cmd->channel);

out:
kfree(cmd);
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/wl12xx/wl1271_cmd.h
Original file line number Diff line number Diff line change
Expand Up @@ -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_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_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_read_memory(struct wl1271 *wl, u32 addr, void *answer,
size_t len);
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/wl12xx/wl1271_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ int wl1271_hw_init(struct wl1271 *wl)
goto out_free_memmap;

/* Enable data path */
ret = wl1271_cmd_data_path(wl, wl->channel, 1);
ret = wl1271_cmd_data_path(wl, 1);
if (ret < 0)
goto out_free_memmap;

Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/wl12xx/wl1271_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ static int wl1271_plt_init(struct wl1271 *wl)
if (ret < 0)
return ret;

ret = wl1271_cmd_data_path(wl, wl->channel, 1);
ret = wl1271_cmd_data_path(wl, 1);
if (ret < 0)
return ret;

Expand Down

0 comments on commit 9421089

Please sign in to comment.