Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 73455
b: refs/heads/master
c: 440cb58
h: refs/heads/master
i:
  73453: f6721cf
  73451: b2d05f5
  73447: 1769117
  73439: ff4591a
v: v3
  • Loading branch information
Stefano Brivio authored and Jeff Garzik committed Nov 10, 2007
1 parent 59e46f1 commit 62dfd65
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 9 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a19d12d742903c745890c1374d64092595571e40
refs/heads/master: 440cb58a7aa979fabb02a38e55bfe93adde0f41c
19 changes: 11 additions & 8 deletions trunk/drivers/net/wireless/b43legacy/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2781,6 +2781,17 @@ static void b43legacy_wireless_core_stop(struct b43legacy_wldev *dev)

if (b43legacy_status(dev) < B43legacy_STAT_STARTED)
return;

/* Disable and sync interrupts. We must do this before than
* setting the status to INITIALIZED, as the interrupt handler
* won't care about IRQs then. */
spin_lock_irqsave(&wl->irq_lock, flags);
dev->irq_savedstate = b43legacy_interrupt_disable(dev,
B43legacy_IRQ_ALL);
b43legacy_read32(dev, B43legacy_MMIO_GEN_IRQ_MASK); /* flush */
spin_unlock_irqrestore(&wl->irq_lock, flags);
b43legacy_synchronize_irq(dev);

b43legacy_set_status(dev, B43legacy_STAT_INITIALIZED);

mutex_unlock(&wl->mutex);
Expand All @@ -2791,14 +2802,6 @@ static void b43legacy_wireless_core_stop(struct b43legacy_wldev *dev)

ieee80211_stop_queues(wl->hw); /* FIXME this could cause a deadlock */

/* Disable and sync interrupts. */
spin_lock_irqsave(&wl->irq_lock, flags);
dev->irq_savedstate = b43legacy_interrupt_disable(dev,
B43legacy_IRQ_ALL);
b43legacy_read32(dev, B43legacy_MMIO_GEN_IRQ_MASK); /* flush */
spin_unlock_irqrestore(&wl->irq_lock, flags);
b43legacy_synchronize_irq(dev);

b43legacy_mac_suspend(dev);
free_irq(dev->dev->irq, dev);
b43legacydbg(wl, "Wireless interface stopped\n");
Expand Down

0 comments on commit 62dfd65

Please sign in to comment.