Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Jul 2013 14:19:42 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-acpi@freebsd.org
Cc:        freebsd-stable@freebsd.org, Ian Smith <smithi@nimnet.asn.au>, freebsd-usb@freebsd.org
Subject:   Re: USB ports on Lenovo T400 do not work after a suspend/resume
Message-ID:  <201307081419.42478.jhb@freebsd.org>
In-Reply-To: <20130630233640.Y23789@sola.nimnet.asn.au>
References:  <CAJ-Vmomg2j-nJi%2BqFr3CpCjHKjHEiLE=xyNyx1VGRL5U-r8gzQ@mail.gmail.com> <CAJ-VmomUGm7CMpe5k=x4J8g5X9hzP-wV2OEhLf8ySbWx-THJLA@mail.gmail.com> <20130630233640.Y23789@sola.nimnet.asn.au>

next in thread | previous in thread | raw e-mail | index | archive | help
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@nimnet.asn.au> wrote:
>  > > We don't yet know if this is a bus, ACPI &/or USB issue.  Home yet? =
:)
>  >=20
>  > Yup:
>  >=20
>  > http://people.freebsd.org/~adrian/usb/
>  >=20
>  > dmesg.boot =3D dmesg at startup
>  >=20
>  > 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
>=20
> After removing [numbers] (for WITNESS?), diff started making sense. =20
> The below is between the first and second suspend/resume cycles in=20
> dmesg-3.txt, encompassing the others.
>=20
> Nothing of note that I can see, if that usb hub-to-bus remapping is=20
> normal.  As you said, 'CPU0: local APIC error 0x40' looks maybe sus. =20
> Maybe someone who knows might comment on that?

=46rom 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?

=2D-=20
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307081419.42478.jhb>