On Wed, Mar 30, 2016 at 10:15:03AM +0300, Leon Romanovsky wrote: > On Mon, Mar 28, 2016 at 11:31:26AM +0200, Lars-Peter Clausen wrote: > > 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@xxxxxxxxxx> > > Thanks > Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > Thanks Acked-by: Faisal Latif <faisal.latif#intel.com> > > --- > > drivers/infiniband/hw/i40iw/i40iw_main.c | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/drivers/infiniband/hw/i40iw/i40iw_main.c b/drivers/infiniband/hw/i40iw/i40iw_main.c > > index 90e5af2..006c44f 100644 > > --- a/drivers/infiniband/hw/i40iw/i40iw_main.c > > +++ b/drivers/infiniband/hw/i40iw/i40iw_main.c > > @@ -270,7 +270,6 @@ static void i40iw_disable_irq(struct i40iw_sc_dev *dev, > > i40iw_wr32(dev->hw, I40E_PFINT_DYN_CTLN(msix_vec->idx - 1), 0); > > else > > i40iw_wr32(dev->hw, I40E_VFINT_DYN_CTLN1(msix_vec->idx - 1), 0); > > - synchronize_irq(msix_vec->irq); > > free_irq(msix_vec->irq, dev_id); > > } > > > > -- > > 2.1.4 > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > > the body of a message to majordomo@xxxxxxxxxxxxxxx > > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html