On Sat, Feb 17, 2018 at 05:09:40PM +0200, Andy Shevchenko wrote:
> On Sat, 2018-02-17 at 17:02 +0200, Andy Shevchenko wrote:
> > On Sat, 2018-02-17 at 14:25 +0100, Dominik Brodowski wrote:
> > 
> > > on v4.16-rc1+, sound does not work any more on my Dell XPS 13;
> > > suspend-to-RAM hangs as well. I have bisected this problem down to
> > > commit ca382f5b38f3; reverting this on top of Linus' latest
> > > (1e3510b2b053)
> > > fixes these issues.
> > > And a few snippets from a broken kernel dmesg:
> > > 
> > >   i2c_designware: probe of INT3432:00 failed with error -38
> > >   i2c_designware: probe of INT3433:00 failed with error -38
> > 
> > ENOSYS here at probe time, taking into account the commit you think is
> > a
> > culprit, can be passed from gpiod_get() calls only.
> > 
> > > Ideas on how to fix this properly?
> > 
> > Enable CONFIG_DEBUG_GPIO first and share through some service the
> > dmesg.
> > (it might be good idea to add 'ignore_loglevel initcall_debug' to the
> > kernel command line)
> 
> And tell if the following patch helps.
> 
> --- a/drivers/i2c/busses/i2c-designware-master.c
> +++ b/drivers/i2c/busses/i2c-designware-master.c
> @@ -644,7 +644,7 @@ static int i2c_dw_init_recovery_info(struct
> dw_i2c_dev *dev)
>         gpio = devm_gpiod_get(dev->dev, "scl", GPIOD_OUT_HIGH);
>         if (IS_ERR(gpio)) {
>                 r = PTR_ERR(gpio);
> -               if (r == -ENOENT)
> +               if (r == -ENOENT || r == -ENOSYS)
>                         return 0;
>                 return r;
>         }
> 

Fixes: ca382f5b38f3 ("i2c: designware: add i2c gpio recovery option")
Tested-and-reported-by: Dominik Brodowski <li...@dominikbrodowski.net>

Thanks,
        Dominik

Reply via email to