diff options
Diffstat (limited to 'drivers/net/wireless/wl12xx')
-rw-r--r-- | drivers/net/wireless/wl12xx/sdio.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/sdio.c b/drivers/net/wireless/wl12xx/sdio.c index 41183db34836..92d29a860fc0 100644 --- a/drivers/net/wireless/wl12xx/sdio.c +++ b/drivers/net/wireless/wl12xx/sdio.c | |||
@@ -231,6 +231,7 @@ static int __devinit wl1271_probe(struct sdio_func *func, | |||
231 | const struct wl12xx_platform_data *wlan_data; | 231 | const struct wl12xx_platform_data *wlan_data; |
232 | struct wl1271 *wl; | 232 | struct wl1271 *wl; |
233 | unsigned long irqflags; | 233 | unsigned long irqflags; |
234 | mmc_pm_flag_t mmcflags; | ||
234 | int ret; | 235 | int ret; |
235 | 236 | ||
236 | /* We are only able to handle the wlan function */ | 237 | /* We are only able to handle the wlan function */ |
@@ -282,6 +283,13 @@ static int __devinit wl1271_probe(struct sdio_func *func, | |||
282 | 283 | ||
283 | disable_irq(wl->irq); | 284 | disable_irq(wl->irq); |
284 | 285 | ||
286 | /* if sdio can keep power while host is suspended, enable wow */ | ||
287 | mmcflags = sdio_get_host_pm_caps(func); | ||
288 | wl1271_debug(DEBUG_SDIO, "sdio PM caps = 0x%x", mmcflags); | ||
289 | |||
290 | if (mmcflags & MMC_PM_KEEP_POWER) | ||
291 | hw->wiphy->wowlan.flags = WIPHY_WOWLAN_ANY; | ||
292 | |||
285 | ret = wl1271_init_ieee80211(wl); | 293 | ret = wl1271_init_ieee80211(wl); |
286 | if (ret) | 294 | if (ret) |
287 | goto out_irq; | 295 | goto out_irq; |