aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/brcm80211/bcmdhd/wl_android.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/brcm80211/bcmdhd/wl_android.c')
-rw-r--r--drivers/net/wireless/brcm80211/bcmdhd/wl_android.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/wireless/brcm80211/bcmdhd/wl_android.c b/drivers/net/wireless/brcm80211/bcmdhd/wl_android.c
index 76df647b677..7c6ab2fb282 100644
--- a/drivers/net/wireless/brcm80211/bcmdhd/wl_android.c
+++ b/drivers/net/wireless/brcm80211/bcmdhd/wl_android.c
@@ -126,6 +126,8 @@ int wl_cfg80211_get_p2p_noa(struct net_device *net, char* buf, int len)
int wl_cfg80211_set_p2p_ps(struct net_device *net, char* buf, int len)
{ return 0; }
#endif
+extern int dhd_os_check_if_up(void *dhdp);
+extern void *bcmsdh_get_drvdata(void);
extern bool ap_fw_loaded;
#ifdef CUSTOMER_HW2
@@ -708,7 +710,7 @@ int wifi_set_power(int on, unsigned long msec)
wifi_control_data->set_power(on);
}
if (msec)
- mdelay(msec);
+ msleep(msec);
return 0;
}
@@ -784,18 +786,19 @@ static int wifi_remove(struct platform_device *pdev)
static int wifi_suspend(struct platform_device *pdev, pm_message_t state)
{
DHD_TRACE(("##> %s\n", __FUNCTION__));
-#if defined(OOB_INTR_ONLY)
+#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 39)) && defined(OOB_INTR_ONLY)
bcmsdh_oob_intr_set(0);
-#endif /* (OOB_INTR_ONLY) */
+#endif
return 0;
}
static int wifi_resume(struct platform_device *pdev)
{
DHD_TRACE(("##> %s\n", __FUNCTION__));
-#if defined(OOB_INTR_ONLY)
- bcmsdh_oob_intr_set(1);
-#endif /* (OOB_INTR_ONLY) */
+#if (LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 39)) && defined(OOB_INTR_ONLY)
+ if (dhd_os_check_if_up(bcmsdh_get_drvdata()))
+ bcmsdh_oob_intr_set(1);
+#endif
return 0;
}