[PATCH 2/2] rtlwifi: Remove unnecessary synchronize_irq() before free_irq()

Larry Finger Larry.Finger at lwfinger.net
Mon Feb 8 13:44:51 PST 2016


On 02/08/2016 02:41 PM, 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 at metafoo.de>
> ---
>   drivers/net/wireless/realtek/rtlwifi/pci.c | 1 -
>   1 file changed, 1 deletion(-)
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c
> index 7f471bf..140d254 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/pci.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/pci.c
> @@ -2392,7 +2392,6 @@ void rtl_pci_disconnect(struct pci_dev *pdev)
>   	rtlpriv->cfg->ops->deinit_sw_vars(hw);
>
>   	if (rtlpci->irq_alloc) {
> -		synchronize_irq(rtlpci->pdev->irq);
>   		free_irq(rtlpci->pdev->irq, hw);
>   		rtlpci->irq_alloc = 0;
>   	}
>

Acked-by: Larry Finger <Larry.Finger at lwfinger.net>

Makes sense to me.

Thanks,

Larry




More information about the b43-dev mailing list