diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2016-03-04 13:15:07 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2016-03-10 04:42:47 +0300 |
commit | 7f8b8f3fba55b345f9b6e3f55906bef6e29e354b (patch) | |
tree | 313a013b0c1e682fc844fd82275de9d6f3c58fde /drivers/scsi/mpt3sas | |
parent | 83430833b4d4a9c9b23964babbeb1f36450f8136 (diff) | |
download | linux-7f8b8f3fba55b345f9b6e3f55906bef6e29e354b.tar.xz |
mpt3sas: 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>
Acked-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/mpt3sas')
-rw-r--r-- | drivers/scsi/mpt3sas/mpt3sas_base.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c index 5bbbbf26d2f9..e4db5fb3239a 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_base.c +++ b/drivers/scsi/mpt3sas/mpt3sas_base.c @@ -1820,7 +1820,6 @@ _base_free_irq(struct MPT3SAS_ADAPTER *ioc) irq_set_affinity_hint(reply_q->vector, NULL); free_cpumask_var(reply_q->affinity_hint); } - synchronize_irq(reply_q->vector); free_irq(reply_q->vector, reply_q); kfree(reply_q); } |