aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/brcm80211/bcmdhd/dhd.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/brcm80211/bcmdhd/dhd.h')
-rw-r--r--drivers/net/wireless/brcm80211/bcmdhd/dhd.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/wireless/brcm80211/bcmdhd/dhd.h b/drivers/net/wireless/brcm80211/bcmdhd/dhd.h
index e4732612759..c87f6cf37d9 100644
--- a/drivers/net/wireless/brcm80211/bcmdhd/dhd.h
+++ b/drivers/net/wireless/brcm80211/bcmdhd/dhd.h
@@ -235,11 +235,12 @@ typedef struct dhd_cmn {
#define DHD_PM_RESUME_WAIT_INIT(a) DECLARE_WAIT_QUEUE_HEAD(a);
#define _DHD_PM_RESUME_WAIT(a, b) do {\
int retry = 0; \
- smp_mb(); \
+ SMP_RD_BARRIER_DEPENDS(); \
while (dhd_mmc_suspend && retry++ != b) { \
- wait_event_interruptible_timeout(a, FALSE, HZ/100); \
+ SMP_RD_BARRIER_DEPENDS(); \
+ wait_event_interruptible_timeout(a, !dhd_mmc_suspend, HZ/100); \
} \
- } while (0)
+ } while (0)
#define DHD_PM_RESUME_WAIT(a) _DHD_PM_RESUME_WAIT(a, 200)
#define DHD_PM_RESUME_WAIT_FOREVER(a) _DHD_PM_RESUME_WAIT(a, ~0)
#define DHD_PM_RESUME_RETURN_ERROR(a) do { if (dhd_mmc_suspend) return a; } while (0)