Re: Delaying i8042 probe?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 10 Sep 2021 13:07:17 +0200,
Fabio Estevam wrote:
> 
> Hi Takashi,
> 
> On Fri, Sep 10, 2021 at 7:50 AM Takashi Iwai <tiwai@xxxxxxx> wrote:
> >
> > Hi,
> >
> > we've received a bug report about the missing keyboard on ASUS Zenbook
> > 14 with AMD Ryzen:
> >   https://bugzilla.suse.com/show_bug.cgi?id=1190256
> >
> > In short, PS2 keyboard couldn't be probed at the cold boot, while it
> > could be detected fine at the warm boot.  The failure appears like:
> >
> > [    0.512668] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
> > [    0.512672] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
> > [    1.033609] i8042: Can't read CTR while initializing i8042
> > [    1.033632] i8042: probe of i8042 failed with error -5
> >
> > As openSUSE kernel builds PS2 drivers as built-in, and the probe at
> > the early boot failed.  Meanwhile, when we rebuilt the kernel with
> > those drivers as modules, it starts working magically.  So, this is
> > likely a timing problem.
> >
> > A possibly workaround I can think of would be to allow re-probing the
> > device at a later point.  Do we have a good way for that, or a better
> > alternative solution?
> 
> Would probe defer help here?
> 
> Something like this:
> 
> --- a/drivers/input/serio/i8042.c
> +++ b/drivers/input/serio/i8042.c
> @@ -1549,7 +1549,7 @@ static int __init i8042_probe(struct platform_device *dev)
> 
>         error = i8042_controller_init();
>         if (error)
> -               return error;
> +               return -EPROBE_DEFER;
> 
>  #ifdef CONFIG_X86
> 

Thanks, I'll try to build a test kernel and let you know the result.

Although we'd need some more restriction (as we don't want to repeat
endlessly for all devices), it's good to know whether the standard
deferred probe works or not in the first place.


Takashi



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux