Message ID | 1444373693-2372-2-git-send-email-wsa@the-dreams.de (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Hi Wolfram, On Fri, Oct 9, 2015 at 8:54 AM, Wolfram Sang <wsa@the-dreams.de> wrote: > The core may register clients attached to this master which may use > funtionality from the master. So, RuntimePM must be enabled before, otherwise > this will fail. While here, move drvdata, too. Thanks for your patch! > Reported-by: Geert Uytterhoeven <geert+renesas@glider.be> > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> > --- > drivers/i2c/busses/i2c-rcar.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c > index d8361dada58455..3d7536d78cb366 100644 > --- a/drivers/i2c/busses/i2c-rcar.c > +++ b/drivers/i2c/busses/i2c-rcar.c > @@ -690,15 +690,15 @@ static int rcar_i2c_probe(struct platform_device *pdev) > return ret; > } > > + pm_runtime_enable(dev); > + platform_set_drvdata(pdev, priv); > + > ret = i2c_add_numbered_adapter(adap); > if (ret < 0) { > dev_err(dev, "reg adap failed: %d\n", ret); You forgot to call pm_runtime_disable() in the error path. I think some of your other patches suffer from the same issue. > return ret; > } Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> You forgot to call pm_runtime_disable() in the error path. > I think some of your other patches suffer from the same issue. Ouch! Thanks a lot, Geert!
diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c index d8361dada58455..3d7536d78cb366 100644 --- a/drivers/i2c/busses/i2c-rcar.c +++ b/drivers/i2c/busses/i2c-rcar.c @@ -690,15 +690,15 @@ static int rcar_i2c_probe(struct platform_device *pdev) return ret; } + pm_runtime_enable(dev); + platform_set_drvdata(pdev, priv); + ret = i2c_add_numbered_adapter(adap); if (ret < 0) { dev_err(dev, "reg adap failed: %d\n", ret); return ret; } - pm_runtime_enable(dev); - platform_set_drvdata(pdev, priv); - dev_info(dev, "probed\n"); return 0;