aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/broadcom/b43
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2016-02-08 21:41:12 +0100
committerKalle Valo <kvalo@codeaurora.org>2016-02-25 12:00:14 +0200
commit10fbc7cf031d7253770331417a4adc4179c979c5 (patch)
tree6077a1ab3efd02487cc39c104cee2785e1fc72db /drivers/net/wireless/broadcom/b43
parentbrcmfmac: Increase nr of supported flowrings. (diff)
downloadlinux-dev-10fbc7cf031d7253770331417a4adc4179c979c5.tar.xz
linux-dev-10fbc7cf031d7253770331417a4adc4179c979c5.zip
b43: Remove unnecessary synchronize_irq() before free_irq()
Calling synchronize_irq() right before free_irq() is quite useless. On one hand the IRQ can easily fire again before free_irq() is entered, on the other hand free_irq() itself calls synchronize_irq() internally (in a race condition free way), before any state associated with the IRQ is freed. Patch was generated using the following semantic patch: // <smpl> @@ expression irq; @@ -synchronize_irq(irq); free_irq(irq, ...); // </smpl> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/broadcom/b43')
-rw-r--r--drivers/net/wireless/broadcom/b43/main.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireless/broadcom/b43/main.c
index c279211e49f9..72380af9dc52 100644
--- a/drivers/net/wireless/broadcom/b43/main.c
+++ b/drivers/net/wireless/broadcom/b43/main.c
@@ -4375,12 +4375,10 @@ redo:
/* Synchronize and free the interrupt handlers. Unlock to avoid deadlocks. */
orig_dev = dev;
mutex_unlock(&wl->mutex);
- if (b43_bus_host_is_sdio(dev->dev)) {
+ if (b43_bus_host_is_sdio(dev->dev))
b43_sdio_free_irq(dev);
- } else {
- synchronize_irq(dev->dev->irq);
+ else
free_irq(dev->dev->irq, dev);
- }
mutex_lock(&wl->mutex);
dev = wl->current_dev;
if (!dev)