diff options
Diffstat (limited to 'drivers/net/wireless/brcm80211/bcmdhd/dhd.h')
-rw-r--r-- | drivers/net/wireless/brcm80211/bcmdhd/dhd.h | 7 |
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) |