Index: drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c |
diff --git a/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c |
index 86c18be7d64e8152d855aa2662683272f0050cd9..375e378c0be7da88acec8232127f3bf455027c7b 100644 |
--- a/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c |
+++ b/drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c |
@@ -40,6 +40,8 @@ |
#include <linux/firmware.h> |
#include <wl_cfg80211.h> |
+void sdioh_sdio_set_host_pm_flags(int flag); |
+ |
static struct sdio_func *cfg80211_sdio_func; |
static struct wl_dev *wl_cfg80211_dev; |
static const u8 ether_bcast[ETH_ALEN] = {255, 255, 255, 255, 255, 255}; |
@@ -1978,8 +1980,6 @@ static s32 wl_cfg80211_suspend(struct wiphy *wiphy) |
struct net_device *ndev = wl_to_ndev(wl); |
s32 err = 0; |
- CHECK_SYS_UP(); |
- |
set_bit(WL_STATUS_SCAN_ABORTING, &wl->status); |
wl_term_iscan(wl); |
if (wl->scan_request) { |
@@ -1991,6 +1991,8 @@ static s32 wl_cfg80211_suspend(struct wiphy *wiphy) |
clear_bit(WL_STATUS_SCANNING, &wl->status); |
clear_bit(WL_STATUS_SCAN_ABORTING, &wl->status); |
+ sdioh_sdio_set_host_pm_flags(MMC_PM_KEEP_POWER); |
+ |
return err; |
} |