Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 158807
b: refs/heads/master
c: 01d9cfb
h: refs/heads/master
i:
  158805: fb2b885
  158803: 4b9bdcd
  158799: 563bae2
v: v3
  • Loading branch information
Kalle Valo authored and John W. Linville committed Jul 10, 2009
1 parent 6c6aabe commit 6256560
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 14 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: cee4fd2712a3db21f432bdff14e59aed160453b2
refs/heads/master: 01d9cfbdaadc64a46b57437c989bbad241074135
13 changes: 0 additions & 13 deletions trunk/drivers/net/wireless/wl12xx/cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ int wl12xx_cmd_send(struct wl12xx *wl, u16 id, void *buf, size_t len)

WARN_ON(len % 4 != 0);

wl12xx_ps_elp_wakeup(wl);

wl12xx_spi_mem_write(wl, wl->cmd_box_addr, buf, len);

wl12xx_reg_write32(wl, ACX_REG_INTERRUPT_TRIG, INTR_TRIG_CMD);
Expand All @@ -57,8 +55,6 @@ int wl12xx_cmd_send(struct wl12xx *wl, u16 id, void *buf, size_t len)
wl->chip.intr_cmd_complete);

out:
wl12xx_ps_elp_sleep(wl);

return ret;
}

Expand Down Expand Up @@ -91,13 +87,8 @@ int wl12xx_cmd_test(struct wl12xx *wl, void *buf, size_t buf_len, u8 answer)
* The answer would be a wl12xx_command, where the
* parameter array contains the actual answer.
*/

wl12xx_ps_elp_wakeup(wl);

wl12xx_spi_mem_read(wl, wl->cmd_box_addr, buf, buf_len);

wl12xx_ps_elp_sleep(wl);

cmd_answer = buf;

if (cmd_answer->header.status != CMD_STATUS_SUCCESS)
Expand Down Expand Up @@ -134,13 +125,9 @@ int wl12xx_cmd_interrogate(struct wl12xx *wl, u16 id, void *buf, size_t len)
goto out;
}

wl12xx_ps_elp_wakeup(wl);

/* the interrogate command got in, we can read the answer */
wl12xx_spi_mem_read(wl, wl->cmd_box_addr, buf, len);

wl12xx_ps_elp_sleep(wl);

acx = buf;
if (acx->cmd.status != CMD_STATUS_SUCCESS)
wl12xx_error("INTERROGATE command error: %d",
Expand Down
5 changes: 5 additions & 0 deletions trunk/drivers/net/wireless/wl12xx/debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@

#include "wl12xx.h"
#include "acx.h"
#include "ps.h"

/* ms */
#define WL12XX_DEBUGFS_STATS_LIFETIME 1000
Expand Down Expand Up @@ -96,13 +97,17 @@ static void wl12xx_debugfs_update_stats(struct wl12xx *wl)
{
mutex_lock(&wl->mutex);

wl12xx_ps_elp_wakeup(wl);

if (wl->state == WL12XX_STATE_ON &&
time_after(jiffies, wl->stats.fw_stats_update +
msecs_to_jiffies(WL12XX_DEBUGFS_STATS_LIFETIME))) {
wl12xx_acx_statistics(wl, wl->stats.fw_stats);
wl->stats.fw_stats_update = jiffies;
}

wl12xx_ps_elp_sleep(wl);

mutex_unlock(&wl->mutex);
}

Expand Down
20 changes: 20 additions & 0 deletions trunk/drivers/net/wireless/wl12xx/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -239,11 +239,14 @@ static void wl12xx_filter_work(struct work_struct *work)
if (wl->state == WL12XX_STATE_OFF)
goto out;

wl12xx_ps_elp_wakeup(wl);

ret = wl12xx_cmd_join(wl, wl->bss_type, 1, 100, 0);
if (ret < 0)
goto out;

out:
wl12xx_ps_elp_sleep(wl);
mutex_unlock(&wl->mutex);
}

Expand Down Expand Up @@ -521,6 +524,8 @@ static int wl12xx_op_config(struct ieee80211_hw *hw, u32 changed)

mutex_lock(&wl->mutex);

wl12xx_ps_elp_wakeup(wl);

if (channel != wl->channel) {
/* FIXME: use beacon interval provided by mac80211 */
ret = wl12xx_cmd_join(wl, wl->bss_type, 1, 100, 0);
Expand Down Expand Up @@ -564,6 +569,7 @@ static int wl12xx_op_config(struct ieee80211_hw *hw, u32 changed)
}

out:
wl12xx_ps_elp_sleep(wl);
mutex_unlock(&wl->mutex);
return ret;
}
Expand Down Expand Up @@ -702,6 +708,8 @@ static int wl12xx_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,

mutex_lock(&wl->mutex);

wl12xx_ps_elp_wakeup(wl);

switch (cmd) {
case SET_KEY:
wl_cmd->key_action = KEY_ADD_OR_REPLACE;
Expand Down Expand Up @@ -752,6 +760,7 @@ static int wl12xx_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
}

out_unlock:
wl12xx_ps_elp_sleep(wl);
mutex_unlock(&wl->mutex);

out:
Expand Down Expand Up @@ -946,7 +955,11 @@ static int wl12xx_op_hw_scan(struct ieee80211_hw *hw,
}

mutex_lock(&wl->mutex);
wl12xx_ps_elp_wakeup(wl);

ret = wl12xx_hw_scan(hw->priv, ssid, ssid_len, 1, 0, 13, 3);

wl12xx_ps_elp_sleep(wl);
mutex_unlock(&wl->mutex);

return ret;
Expand All @@ -959,11 +972,15 @@ static int wl12xx_op_set_rts_threshold(struct ieee80211_hw *hw, u32 value)

mutex_lock(&wl->mutex);

wl12xx_ps_elp_wakeup(wl);

ret = wl12xx_acx_rts_threshold(wl, (u16) value);

if (ret < 0)
wl12xx_warning("wl12xx_op_set_rts_threshold failed: %d", ret);

wl12xx_ps_elp_sleep(wl);

mutex_unlock(&wl->mutex);

return ret;
Expand All @@ -983,6 +1000,8 @@ static void wl12xx_op_bss_info_changed(struct ieee80211_hw *hw,

mutex_lock(&wl->mutex);

wl12xx_ps_elp_wakeup(wl);

if (changed & BSS_CHANGED_ASSOC) {
if (bss_conf->assoc) {
wl->aid = bss_conf->aid;
Expand Down Expand Up @@ -1072,6 +1091,7 @@ static void wl12xx_op_bss_info_changed(struct ieee80211_hw *hw,
}

out:
wl12xx_ps_elp_sleep(wl);
mutex_unlock(&wl->mutex);
}

Expand Down

0 comments on commit 6256560

Please sign in to comment.