diff options
Diffstat (limited to 'drivers/net/wireless/wl12xx/ps.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/ps.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/wl12xx/ps.c b/drivers/net/wireless/wl12xx/ps.c index a7a11088dd31..a2bdacdd7e1d 100644 --- a/drivers/net/wireless/wl12xx/ps.c +++ b/drivers/net/wireless/wl12xx/ps.c | |||
@@ -53,8 +53,11 @@ void wl1271_elp_work(struct work_struct *work) | |||
53 | goto out; | 53 | goto out; |
54 | 54 | ||
55 | wl12xx_for_each_wlvif(wl, wlvif) { | 55 | wl12xx_for_each_wlvif(wl, wlvif) { |
56 | if (wlvif->bss_type == BSS_TYPE_AP_BSS) | ||
57 | goto out; | ||
58 | |||
56 | if (!test_bit(WLVIF_FLAG_PSM, &wlvif->flags) && | 59 | if (!test_bit(WLVIF_FLAG_PSM, &wlvif->flags) && |
57 | !test_bit(WL1271_FLAG_IDLE, &wl->flags)) | 60 | test_bit(WLVIF_FLAG_IN_USE, &wlvif->flags)) |
58 | goto out; | 61 | goto out; |
59 | } | 62 | } |
60 | 63 | ||
@@ -78,8 +81,11 @@ void wl1271_ps_elp_sleep(struct wl1271 *wl) | |||
78 | return; | 81 | return; |
79 | 82 | ||
80 | wl12xx_for_each_wlvif(wl, wlvif) { | 83 | wl12xx_for_each_wlvif(wl, wlvif) { |
84 | if (wlvif->bss_type == BSS_TYPE_AP_BSS) | ||
85 | return; | ||
86 | |||
81 | if (!test_bit(WLVIF_FLAG_PSM, &wlvif->flags) && | 87 | if (!test_bit(WLVIF_FLAG_PSM, &wlvif->flags) && |
82 | !test_bit(WL1271_FLAG_IDLE, &wl->flags)) | 88 | test_bit(WLVIF_FLAG_IN_USE, &wlvif->flags)) |
83 | return; | 89 | return; |
84 | } | 90 | } |
85 | 91 | ||