Re: psmouse doesn't seem to reinitialize after mem suspend (acpi) when using i8042 on ALi M1553 ISA bridge with 2.6.11.11 or 2.6.12-rc5?

From: Adam Morley
Date: Wed Jun 08 2005 - 00:03:07 EST


On 6/7/05, Dmitry Torokhov <dtor_core@xxxxxxxxxxxxx> wrote:
> On Monday 06 June 2005 02:28, Adam Morley wrote:
> > Hi Dimitry,
> >
> > On 6/5/05, Dmitry Torokhov <dtor_core@xxxxxxxxxxxxx> wrote:
> > > On Sunday 05 June 2005 21:24, Adam Morley wrote:
> > > > When I do a mem suspend (echo mem > /sys/power/state), either through
> > > > a lid switch ACPI action, or manually echo'ing the parameter, the
> > > > mouse doesn't work after un-suspending. It seems like it is no longer
> > > > detected/initialized. cat'ing the device file doesn't produce output,
> > > > and gpm and X don't get mouse inputs.
> > >
> > > Could you please try booting 2.6.12-rc5 with "i8042.debug" on the kernel
> > > command line; suspend, resume and post your dmesg?
> >
> > Sure. Here it is. Suspend was done using acpid using a lid action.
> > psmouse was modprobe -r'ed before suspend and modprobe'ed back in
> > after resume.
> >
>
> We are trying to resume but KBC signals timeout condition every time we
> ping AUX port:
>
> > drivers/input/serio/i8042.c: 60 -> i8042 (command) [220701]
> > drivers/input/serio/i8042.c: 47 -> i8042 (parameter) [220701]
> > drivers/input/serio/i8042.c: d4 -> i8042 (command) [220703]
> > drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [220703]
> > drivers/input/serio/i8042.c: fe <- i8042 (interrupt, AUX, 12, timeout) [220725]
> > drivers/input/serio/i8042.c: d4 -> i8042 (command) [220726]
> > drivers/input/serio/i8042.c: ed -> i8042 (parameter) [220726]
> > drivers/input/serio/i8042.c: fe <- i8042 (interrupt, AUX, 12, timeout) [220747]
> > drivers/input/serio/i8042.c: 60 -> i8042 (command) [220748]
> > drivers/input/serio/i8042.c: 45 -> i8042 (parameter) [220748]
> > drivers/input/serio/i8042.c: 60 -> i8042 (command) [220943]
> > drivers/input/serio/i8042.c: 47 -> i8042 (parameter) [220943]
> > drivers/input/serio/i8042.c: d4 -> i8042 (command) [220943]
> > drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [220943]
> > drivers/input/serio/i8042.c: fe <- i8042 (interrupt, AUX, 12, timeout) [220965]
>
> Could you please try the patch below?

Ok, patch applied (against 2.6.12-rc5, clean, offset 2 lines for both
hunk 3 and 4). Mouse still doesn't work on resume. dmesg
w/i8042.debug set on kernel command line attached covering one
suspend/resume.

Thanks a bunch! let me know if more data will help.

--
adam
Stopping tasks: =========================================|
drivers/input/serio/i8042.c: 60 -> i8042 (command) [547420]
drivers/input/serio/i8042.c: 47 -> i8042 (parameter) [547420]
eth1: Orinoco-PCI entering sleep mode (state=3)
hwsleep-0306 [08] acpi_enter_sleep_state: Entering sleep state [S3]
Back to C!
ACPI: PCI Interrupt 0000:00:02.0[A] -> Link [LNKU] -> GSI 11 (level, low) -> IRQ 11
ACPI: PCI Interrupt 0000:00:04.0[A] -> Link [LNKH] -> GSI 9 (level, low) -> IRQ 9
pci_irq-0370 [11] acpi_pci_irq_derive : Unable to derive IRQ for device 0000:00:0f.0
ACPI: PCI Interrupt 0000:00:0f.0[A]: no GSI - using IRQ 0
eth0: link up, 100Mbps, full-duplex, lpa 0x41E1
eth1: Orinoco-PCI waking up
ACPI: PCI Interrupt 0000:00:14.0[A] -> Link [LNKD] -> GSI 9 (level, low) -> IRQ 9
drivers/input/serio/i8042.c: 60 -> i8042 (command) [555896]
drivers/input/serio/i8042.c: 47 -> i8042 (parameter) [555896]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [555897]
drivers/input/serio/i8042.c: 47 -> i8042 (parameter) [555897]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [555898]
drivers/input/serio/i8042.c: 47 -> i8042 (parameter) [555898]
drivers/input/serio/i8042.c: f2 -> i8042 (kbd-data) [555899]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, KBD, 1) [555902]
drivers/input/serio/i8042.c: ab <- i8042 (interrupt, KBD, 1) [555909]
drivers/input/serio/i8042.c: 54 <- i8042 (interrupt, KBD, 1) [555914]
drivers/input/serio/i8042.c: ed -> i8042 (kbd-data) [555919]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, KBD, 1) [555922]
drivers/input/serio/i8042.c: 00 -> i8042 (kbd-data) [555939]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, KBD, 1) [555942]
drivers/input/serio/i8042.c: f3 -> i8042 (kbd-data) [555959]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, KBD, 1) [555962]
drivers/input/serio/i8042.c: 00 -> i8042 (kbd-data) [555979]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, KBD, 1) [555982]
drivers/input/serio/i8042.c: f4 -> i8042 (kbd-data) [555999]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, KBD, 1) [556002]
drivers/input/serio/i8042.c: ed -> i8042 (kbd-data) [556019]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, KBD, 1) [556022]
drivers/input/serio/i8042.c: 00 -> i8042 (kbd-data) [556039]
drivers/input/serio/i8042.c: fa <- i8042 (interrupt, KBD, 1) [556042]
Restarting tasks...<7>drivers/input/serio/i8042.c: 60 -> i8042 (command) [556101]
drivers/input/serio/i8042.c: 47 -> i8042 (parameter) [556101]
drivers/input/serio/i8042.c: d4 -> i8042 (command) [556102]
drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [556102]
done
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, AUX, 12, timeout) [556124]
drivers/input/serio/i8042.c: d4 -> i8042 (command) [556124]
drivers/input/serio/i8042.c: ed -> i8042 (parameter) [556124]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, AUX, 12, timeout) [556146]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [556146]
drivers/input/serio/i8042.c: 45 -> i8042 (parameter) [556146]
usb 1-3: USB disconnect, address 3
usb 1-3: new low speed USB device using ohci_hcd and address 4
input: USB HID v1.00 Mouse [Fujitsu Takamisawa USB Touch Panel] on usb-0000:00:02.0-3
drivers/input/serio/i8042.c: 60 -> i8042 (command) [557731]
drivers/input/serio/i8042.c: 47 -> i8042 (parameter) [557731]
drivers/input/serio/i8042.c: d4 -> i8042 (command) [557732]
drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [557732]
drivers/input/serio/i8042.c: fe <- i8042 (interrupt, AUX, 12, timeout) [557753]
drivers/input/serio/i8042.c: 60 -> i8042 (command) [557753]
drivers/input/serio/i8042.c: 45 -> i8042 (parameter) [557753]
drivers/input/serio/i8042.c: 1c <- i8042 (interrupt, KBD, 1) [564765]