On Tue, Apr 30, 2019 at 4:23 PM Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> wrote: > > --- > Keijo: could you test this does it fix the issue you reported? This is > practically the same diff I sent earlier what you probably haven't tested yet. > I wanted to send a commitable fix in case it works since I'll be out of > office in a few coming days. > --- > drivers/i2c/i2c-core-base.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c > index 38af18645133..8149c9e32b69 100644 > --- a/drivers/i2c/i2c-core-base.c > +++ b/drivers/i2c/i2c-core-base.c > @@ -327,6 +327,8 @@ static int i2c_device_probe(struct device *dev) > > if (client->flags & I2C_CLIENT_HOST_NOTIFY) { > dev_dbg(dev, "Using Host Notify IRQ\n"); > + /* Keep adapter active when Host Notify is required */ > + pm_runtime_get_sync(&client->adapter->dev); > irq = i2c_smbus_host_notify_to_irq(client); > } else if (dev->of_node) { > irq = of_irq_get_byname(dev->of_node, "irq"); > @@ -431,6 +433,8 @@ static int i2c_device_remove(struct device *dev) > device_init_wakeup(&client->dev, false); > > client->irq = client->init_irq; > + if (client->flags & I2C_CLIENT_HOST_NOTIFY) > + pm_runtime_put(&client->adapter->dev); > > return status; > } > -- > 2.20.1 > Thanks guys, I've tested the patch and can confirm it fixes the issue.