From: Lars-Peter Clausen Date: Fri, 4 Mar 2016 10:15:07 +0000 (+0100) Subject: mpt3sas: Remove unnecessary synchronize_irq() before free_irq() X-Git-Tag: v4.6-rc1~133^2~2 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=7f8b8f3fba55b345f9b6e3f55906bef6e29e354b;p=linux.git 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: // @@ expression irq; @@ -synchronize_irq(irq); free_irq(irq, ...); // Signed-off-by: Lars-Peter Clausen Acked-by: Sreekanth Reddy Signed-off-by: Martin K. Petersen --- 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); }