Re: [PATCH v2] mfd: cros_ec: Free IRQ on exit

From: Lee Jones
Date: Mon Jun 19 2017 - 10:51:24 EST


On Mon, 12 Jun 2017, Jeffy Chen wrote:

> Currently we request the irq when probing, but never free it. So after
> unbind ec driver, this irq will be left requested, which would break
> the next bind:
> [ 2683.338437] genirq: Flags mismatch irq 64. 00002008 (chromeos-ec) vs. 00002008 (chromeos-ec)
> [ 2683.338591] cros-ec-spi spi5.0: request irq 64: error -16
> [ 2683.338610] cros-ec-spi spi5.0: cannot register EC
> [ 2683.338656] cros-ec-spi: probe of spi5.0 failed with error -16
>
> Signed-off-by: Jeffy Chen <jeffy.chen@xxxxxxxxxxxxxx>
>
> ---
>
> Changes in v2:
> Improve the commit message.
>
> drivers/mfd/cros_ec.c | 3 +++
> 1 file changed, 3 insertions(+)

Applied, thanks.

> diff --git a/drivers/mfd/cros_ec.c b/drivers/mfd/cros_ec.c
> index e31ac60..dc6ce90 100644
> --- a/drivers/mfd/cros_ec.c
> +++ b/drivers/mfd/cros_ec.c
> @@ -183,6 +183,9 @@ int cros_ec_remove(struct cros_ec_device *ec_dev)
>
> cros_ec_acpi_remove_gpe_handler();
>
> + if (ec_dev->irq)
> + free_irq(ec_dev->irq, ec_dev);
> +
> return 0;
> }
> EXPORT_SYMBOL(cros_ec_remove);

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog