Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 194243
b: refs/heads/master
c: e197281
h: refs/heads/master
i:
  194241: 4524957
  194239: e2f484a
v: v3
  • Loading branch information
Juuso Oikarinen authored and John W. Linville committed Apr 9, 2010
1 parent 9bd7872 commit 3fc77f9
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 4 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: aecb0565e3e331d4dd23b4d35180519532015f22
refs/heads/master: e19728181ca7187fa0ecb7076ce681311cf785e7
1 change: 1 addition & 0 deletions trunk/drivers/net/wireless/wl12xx/wl1271.h
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,7 @@ struct wl1271 {
#define WL1271_FLAG_PSM_REQUESTED (8)
#define WL1271_FLAG_IRQ_PENDING (9)
#define WL1271_FLAG_IRQ_RUNNING (10)
#define WL1271_FLAG_IDLE (11)
unsigned long flags;

struct wl1271_partition_set part;
Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/net/wireless/wl12xx/wl1271_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1272,7 +1272,9 @@ static int wl1271_op_config(struct ieee80211_hw *hw, u32 changed)
wl1271_acx_keep_alive_config(
wl, CMD_TEMPL_KLV_IDX_NULL_DATA,
ACX_KEEP_ALIVE_TPL_INVALID);
}
set_bit(WL1271_FLAG_IDLE, &wl->flags);
} else
clear_bit(WL1271_FLAG_IDLE, &wl->flags);
}

if (conf->flags & IEEE80211_CONF_PS &&
Expand Down
6 changes: 4 additions & 2 deletions trunk/drivers/net/wireless/wl12xx/wl1271_ps.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ void wl1271_elp_work(struct work_struct *work)
mutex_lock(&wl->mutex);

if (test_bit(WL1271_FLAG_IN_ELP, &wl->flags) ||
!test_bit(WL1271_FLAG_PSM, &wl->flags))
(!test_bit(WL1271_FLAG_PSM, &wl->flags) &&
!test_bit(WL1271_FLAG_IDLE, &wl->flags)))
goto out;

wl1271_debug(DEBUG_PSM, "chip to elp");
Expand All @@ -56,7 +57,8 @@ void wl1271_elp_work(struct work_struct *work)
/* Routines to toggle sleep mode while in ELP */
void wl1271_ps_elp_sleep(struct wl1271 *wl)
{
if (test_bit(WL1271_FLAG_PSM, &wl->flags)) {
if (test_bit(WL1271_FLAG_PSM, &wl->flags) ||
test_bit(WL1271_FLAG_IDLE, &wl->flags)) {
cancel_delayed_work(&wl->elp_work);
ieee80211_queue_delayed_work(wl->hw, &wl->elp_work,
msecs_to_jiffies(ELP_ENTRY_DELAY));
Expand Down

0 comments on commit 3fc77f9

Please sign in to comment.