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 <[email protected]> > > --- > > 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

