diff options
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271_event.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271_event.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_event.c b/drivers/net/wireless/wl12xx/wl1271_event.c index e135d894b42a..d13fdd99c85c 100644 --- a/drivers/net/wireless/wl12xx/wl1271_event.c +++ b/drivers/net/wireless/wl12xx/wl1271_event.c | |||
@@ -78,12 +78,16 @@ static int wl1271_event_ps_report(struct wl1271 *wl, | |||
78 | 78 | ||
79 | switch (mbox->ps_status) { | 79 | switch (mbox->ps_status) { |
80 | case EVENT_ENTER_POWER_SAVE_FAIL: | 80 | case EVENT_ENTER_POWER_SAVE_FAIL: |
81 | if (!wl->psm) { | ||
82 | wl->psm_entry_retry = 0; | ||
83 | break; | ||
84 | } | ||
85 | |||
81 | if (wl->psm_entry_retry < wl->conf.conn.psm_entry_retries) { | 86 | if (wl->psm_entry_retry < wl->conf.conn.psm_entry_retries) { |
82 | wl->psm_entry_retry++; | 87 | wl->psm_entry_retry++; |
83 | wl1271_error("PSM entry failed, retrying %d\n", | ||
84 | wl->psm_entry_retry); | ||
85 | ret = wl1271_ps_set_mode(wl, STATION_POWER_SAVE_MODE); | 88 | ret = wl1271_ps_set_mode(wl, STATION_POWER_SAVE_MODE); |
86 | } else { | 89 | } else { |
90 | wl1271_error("PSM entry failed, giving up.\n"); | ||
87 | wl->psm_entry_retry = 0; | 91 | wl->psm_entry_retry = 0; |
88 | *beacon_loss = true; | 92 | *beacon_loss = true; |
89 | } | 93 | } |