USB ports on Lenovo T400 do not work after a suspend/resume
John Baldwin
jhb at freebsd.org
Mon Jul 8 21:26:08 UTC 2013
On Sunday, June 30, 2013 10:22:09 am Ian Smith wrote:
> On Sat, 29 Jun 2013, Adrian Chadd wrote:
> > On 27 June 2013 04:58, Ian Smith <smithi at nimnet.asn.au> wrote:
> > > We don't yet know if this is a bus, ACPI &/or USB issue. Home yet? :)
> >
> > Yup:
> >
> > http://people.freebsd.org/~adrian/usb/
> >
> > dmesg.boot = dmesg at startup
> >
> > 1 - after powerup, usb device in
> > 2 - after acpiconf -s3 suspend/resume, w/ a USB device plugged in
> > 3 - after acpiconf -s3 suspend/resume, with a USB device removed
> > before suspend/resume
>
> After removing [numbers] (for WITNESS?), diff started making sense.
> The below is between the first and second suspend/resume cycles in
> dmesg-3.txt, encompassing the others.
>
> Nothing of note that I can see, if that usb hub-to-bus remapping is
> normal. As you said, 'CPU0: local APIC error 0x40' looks maybe sus.
> Maybe someone who knows might comment on that?
From sys/amd64/include/apicreg.h:
/* fields in ESR */
#define APIC_ESR_SEND_CS_ERROR 0x00000001
#define APIC_ESR_RECEIVE_CS_ERROR 0x00000002
#define APIC_ESR_SEND_ACCEPT 0x00000004
#define APIC_ESR_RECEIVE_ACCEPT 0x00000008
#define APIC_ESR_SEND_ILLEGAL_VECTOR 0x00000020
#define APIC_ESR_RECEIVE_ILLEGAL_VECTOR 0x00000040
#define APIC_ESR_ILLEGAL_REGISTER 0x00000080
Receive illegal vector (if look in Intel's SDM manuals) means it
got an interrupt vector < 32 (probably zero). Perhaps it asserted
an interrupt in an I/O APIC before the I/O APIC was properly reset?
Are you using MSI at all?
--
John Baldwin
More information about the freebsd-acpi
mailing list