Re: Linux 2.6.21-rc6

Dmitry Torokhov
2007-04-15T14:19:35Z

On Sunday 15 April 2007 07:16, Rafael J. Wysocki wrote:
> On Sunday, 15 April 2007 10:02, Tobias Diedrich wrote:
>
> > > With CONFIG_PM_DEBUG=y and CONFIG_DISABLE_CONSOLE_SUSPEND=y I see
> > > that the second suspend hangs at "i8042 i8042: EARLY resume".
> > > This is kinda interesting because I'm normally using a USB keyboard
> > > and sure enough, if I hook up a normal keyboard and disable USB
> > > legacy support in the BIOS, then suspend to disk works multiple
> > > times. I'd still rather like to use my USB keyboard though. ;)
>
> Well, I think that when you're using the USB keyboard and the USB legacy
> support, the i8042 driver thinks it has a keyboard to handle and tries to
> handle it during the suspend, which fails. I don't know why it fails during
> the second suspend, though.
>
> Dmitry, could you please have a look?
>

This is wierd as i8042 does not use suspend_late/resume_early hooks and
so it is impossible for it to hang there. None of input drivers use these
hooks. Could it be that some other driver _after_ i8042 hangs?

> > And I can now confirm that unpatched 2.6.21-rc6 works fine as long
> > as USB legacy support is disabled (however without legacy support I
> > can't use the USB keyboard to control grub).
>
> I think using the 'shutdown' mode of suspend would be better. There's a little
> point in using 'platform' on desktop systems anyway.
>
> Frankly, I don't know what to do about it. If we move platform_finish() after
> device_resume(), some systems may be broken and I think there are more such
> systems than there are systems that set USB legacy support in the BIOS and
> have no PS/2 keyboards attached.

I would say that every box that does not use PS/2 keyboard does this.
IOW every box with USB keyboard has legacy emulation turned on so quite
few of them...

--
Dmitry