diff options
-rw-r--r-- | drivers/net/wireless/b43/main.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 345c34bdae9a..cf5c046c9fa8 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -2343,6 +2343,13 @@ static void b43_mac_suspend(struct b43_wldev *dev) | |||
2343 | & ~B43_MACCTL_ENABLED); | 2343 | & ~B43_MACCTL_ENABLED); |
2344 | /* force pci to flush the write */ | 2344 | /* force pci to flush the write */ |
2345 | b43_read32(dev, B43_MMIO_MACCTL); | 2345 | b43_read32(dev, B43_MMIO_MACCTL); |
2346 | for (i = 35; i; i--) { | ||
2347 | tmp = b43_read32(dev, B43_MMIO_GEN_IRQ_REASON); | ||
2348 | if (tmp & B43_IRQ_MAC_SUSPENDED) | ||
2349 | goto out; | ||
2350 | udelay(10); | ||
2351 | } | ||
2352 | /* Hm, it seems this will take some time. Use msleep(). */ | ||
2346 | for (i = 40; i; i--) { | 2353 | for (i = 40; i; i--) { |
2347 | tmp = b43_read32(dev, B43_MMIO_GEN_IRQ_REASON); | 2354 | tmp = b43_read32(dev, B43_MMIO_GEN_IRQ_REASON); |
2348 | if (tmp & B43_IRQ_MAC_SUSPENDED) | 2355 | if (tmp & B43_IRQ_MAC_SUSPENDED) |