Re: [linux-pm] "i8042: Can't reactivate AUX port" after s2ram on 3.4-rc2

From: Rafael J. Wysocki
Date: Fri Apr 13 2012 - 16:15:05 EST


On Friday, April 13, 2012, Mikko Vinni wrote:
> From: Rafael J. Wysocki:
>
> > On Friday, April 13, 2012, Mikko Vinni wrote:
> >> Bug report:
> >> https://bugzilla.kernel.org/show_bug.cgi?id=43099
> >>
> >> Briefly:
> >>
> >> After s2ram the touchpad on a HP dv5 laptop doesn't work anymore.
> >>
> >> dmesg contains this about the touchpad
> >> Apr 11 18:00:05 koni kernel: i8042: Can't write CTR while closing AUX
> > port
> >> Apr 11 18:00:08 koni kernel: i8042: Can't reactivate AUX port
> >>
> >>
> >> Full log in bugzilla with PCI and i8042 debug turned on.
> >>
> >> Bisected to:
> >>
> >> commit 26f41062f28de65e11d3cf353e52d0be73442be1
> >> Author: Kay, Allen M <allen.m.kay@xxxxxxxxx>
> >> Date: Thu Jan 26 10:25:53 2012 -0800
> >>
> >> PCI: check for pci bar restore completion and retry
> >>
> >> On some OEM systems, pci_restore_state() is called while FLR has not
> > yet
> >> completed. As a result, PCI BAR register restore is not successful.
> > This fix
> >> reads back the restored value and compares it with saved value and
> > re-tries 10
> >> times before giving up.
> >
> > Does reverting the above commit on top of the current Linus' tree fix the
> > problem for you?
>
>
> It does (at least with the tree from yesterday, 4166fb64593514ad920b7dbd290e0a934b37d24a).

OK, thanks.

Please change that dev_dbg() in pci_restore_state() into dev_info()
and see how many times it gets printed with the commit applied (not reverted).

[Margin note: I think it would make more sense to read the value from
the register _after_ and not before the waiting and I'm not exactly sure why
msleep() is not used.]

Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/