[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