Re: Wake from zzz causes panic on thinkpad x60
Hi, On Fri, 17 May 2013 14:06:49 +0200 Martin Pieuchot wrote: > On 17/05/13(Fri) 19:25, YASUOKA Masahiko wrote: >> On Fri, 1 Mar 2013 13:43:00 + >> "Wade, Daniel" wrote: >> > -Original Message- >> > From: owner-t...@openbsd.org [mailto:owner-t...@openbsd.org] On Behalf Of >> > Stefan Sperling >> > Sent: Thursday, February 28, 2013 12:16 PM >> > To: Edd Barrett >> > Cc: tech@openbsd.org >> > Subject: Re: Wake from zzz causes panic on thinkpad x60 >> > >> > On Thu, Feb 28, 2013 at 04:59:12PM +, Edd Barrett wrote: >> >> Went to run some TESTS for release and I am seeing panics when waking >> >> my thinkpad x60 from zzz. >> >> >> >> I didn't have a serial line attached to get trace and ps, so I have >> >> taken pictures of the kernel debugger. Sorry about that. >> >> >> >> http://farm9.staticflickr.com/8505/8516467142_1f3580e87a_c.jpg >> > >> > I've seen this panic in usb_abort_task_thread() on an x60s before. >> > It doesn't happen often. It's not a new issue in recent snaps. >> >> Same problem happens on my sony vaio vgn-sz94s. >> Attached diff will fix the problem. >> >> Remove `abort_task' from usb task queue before recycling a `struct >> usbd_xfer object' which includes the `abort_task'. Otherwise >> usb_abort_task_thread() may try to dequeue the recycled task then it >> causes panic with page fault. > > Good analysis, but what about the less intrusive diff below from FreeBSD? > > It looks like when isochronous support has been imported, task > cancellation were forgotten from the abort path. Your diff seem to fix the problem more exactly. > Does this also fix your panic? Yes, it fixed the panic. But I needed to apply same changes to uhci.c like attached diff. Index: sys/dev/usb/ehci.c === RCS file: /cvs/openbsd/src/sys/dev/usb/ehci.c,v retrieving revision 1.131 diff -u -p -r1.131 ehci.c --- sys/dev/usb/ehci.c 19 Apr 2013 08:58:53 - 1.131 +++ sys/dev/usb/ehci.c 17 May 2013 15:56:30 - @@ -800,6 +800,7 @@ ehci_check_itd_intr(struct ehci_softc *s done: DPRINTFN(12, ("ehci_check_itd_intr: ex=%p done\n", ex)); timeout_del(&ex->xfer.timeout_handle); + usb_rem_task(ex->xfer.pipe->device, &ex->abort_task); ehci_idone(ex); } @@ -2859,6 +2860,7 @@ ehci_abort_isoc_xfer(struct usbd_xfer *x s = splusb(); xfer->status = status; timeout_del(&xfer->timeout_handle); + usb_rem_task(epipe->pipe.device, &exfer->abort_task); usb_transfer_complete(xfer); splx(s); return; @@ -2883,6 +2885,7 @@ ehci_abort_isoc_xfer(struct usbd_xfer *x xfer->status = status; timeout_del(&xfer->timeout_handle); + usb_rem_task(epipe->pipe.device, &exfer->abort_task); s = splusb(); for (itd = exfer->itdstart; itd != NULL; itd = itd->xfer_next) { Index: sys/dev/usb/uhci.c === RCS file: /cvs/openbsd/src/sys/dev/usb/uhci.c,v retrieving revision 1.96 diff -u -p -r1.96 uhci.c --- sys/dev/usb/uhci.c 19 Apr 2013 08:58:53 - 1.96 +++ sys/dev/usb/uhci.c 17 May 2013 15:57:26 - @@ -1264,6 +1264,7 @@ uhci_check_intr(struct uhci_softc *sc, s done: DPRINTFN(12, ("uhci_check_intr: ii=%p done\n", ii)); timeout_del(&ii->xfer->timeout_handle); + usb_rem_task(ii->xfer->pipe->device, &UXFER(ii->xfer)->abort_task); uhci_idone(ii); } @@ -1856,6 +1857,7 @@ uhci_abort_xfer(struct usbd_xfer *xfer, s = splusb(); xfer->status = status; /* make software ignore it */ timeout_del(&xfer->timeout_handle); + usb_rem_task(xfer->pipe->device, &UXFER(xfer)->abort_task); usb_transfer_complete(xfer); splx(s); return; @@ -1870,6 +1872,7 @@ uhci_abort_xfer(struct usbd_xfer *xfer, s = splusb(); xfer->status = status; /* make software ignore it */ timeout_del(&xfer->timeout_handle); + usb_rem_task(xfer->pipe->device, &UXFER(xfer)->abort_task); DPRINTFN(1,("uhci_abort_xfer: stop ii=%p\n", ii)); for (std = ii->stdstart; std != NULL; std = std->link.std) std->td.td_status &= htole32(~(UHCI_TD_ACTIVE | UHCI_TD_IOC));
Re: Wake from zzz causes panic on thinkpad x60
On 17/05/13(Fri) 19:25, YASUOKA Masahiko wrote: > Hi, > > On Fri, 1 Mar 2013 13:43:00 + > "Wade, Daniel" wrote: > > -Original Message- > > From: owner-t...@openbsd.org [mailto:owner-t...@openbsd.org] On Behalf Of > > Stefan Sperling > > Sent: Thursday, February 28, 2013 12:16 PM > > To: Edd Barrett > > Cc: tech@openbsd.org > > Subject: Re: Wake from zzz causes panic on thinkpad x60 > > > > On Thu, Feb 28, 2013 at 04:59:12PM +, Edd Barrett wrote: > >> Went to run some TESTS for release and I am seeing panics when waking > >> my thinkpad x60 from zzz. > >> > >> I didn't have a serial line attached to get trace and ps, so I have > >> taken pictures of the kernel debugger. Sorry about that. > >> > >> http://farm9.staticflickr.com/8505/8516467142_1f3580e87a_c.jpg > > > > I've seen this panic in usb_abort_task_thread() on an x60s before. > > It doesn't happen often. It's not a new issue in recent snaps. > > Same problem happens on my sony vaio vgn-sz94s. > Attached diff will fix the problem. > > Remove `abort_task' from usb task queue before recycling a `struct > usbd_xfer object' which includes the `abort_task'. Otherwise > usb_abort_task_thread() may try to dequeue the recycled task then it > causes panic with page fault. Good analysis, but what about the less intrusive diff below from FreeBSD? It looks like when isochronous support has been imported, task cancellation were forgotten from the abort path. Does this also fix your panic? Index: ehci.c === RCS file: /home/ncvs/src/sys/dev/usb/ehci.c,v retrieving revision 1.131 diff -u -p -r1.131 ehci.c --- ehci.c 19 Apr 2013 08:58:53 - 1.131 +++ ehci.c 17 May 2013 12:05:37 - @@ -800,6 +800,7 @@ ehci_check_itd_intr(struct ehci_softc *s done: DPRINTFN(12, ("ehci_check_itd_intr: ex=%p done\n", ex)); timeout_del(&ex->xfer.timeout_handle); + usb_rem_task(ex->xfer.pipe->device, &ex->abort_task); ehci_idone(ex); } @@ -2859,6 +2860,7 @@ ehci_abort_isoc_xfer(struct usbd_xfer *x s = splusb(); xfer->status = status; timeout_del(&xfer->timeout_handle); + usb_rem_task(epipe->pipe.device, &exfer->abort_task); usb_transfer_complete(xfer); splx(s); return; @@ -2883,6 +2885,7 @@ ehci_abort_isoc_xfer(struct usbd_xfer *x xfer->status = status; timeout_del(&xfer->timeout_handle); + usb_rem_task(epipe->pipe.device, &exfer->abort_task); s = splusb(); for (itd = exfer->itdstart; itd != NULL; itd = itd->xfer_next) {
Re: Wake from zzz causes panic on thinkpad x60
Hi, On Fri, 1 Mar 2013 13:43:00 + "Wade, Daniel" wrote: > -Original Message- > From: owner-t...@openbsd.org [mailto:owner-t...@openbsd.org] On Behalf Of > Stefan Sperling > Sent: Thursday, February 28, 2013 12:16 PM > To: Edd Barrett > Cc: tech@openbsd.org > Subject: Re: Wake from zzz causes panic on thinkpad x60 > > On Thu, Feb 28, 2013 at 04:59:12PM +, Edd Barrett wrote: >> Went to run some TESTS for release and I am seeing panics when waking >> my thinkpad x60 from zzz. >> >> I didn't have a serial line attached to get trace and ps, so I have >> taken pictures of the kernel debugger. Sorry about that. >> >> http://farm9.staticflickr.com/8505/8516467142_1f3580e87a_c.jpg > > I've seen this panic in usb_abort_task_thread() on an x60s before. > It doesn't happen often. It's not a new issue in recent snaps. Same problem happens on my sony vaio vgn-sz94s. Attached diff will fix the problem. Remove `abort_task' from usb task queue before recycling a `struct usbd_xfer object' which includes the `abort_task'. Otherwise usb_abort_task_thread() may try to dequeue the recycled task then it causes panic with page fault. test, comment or ok? Index: sys/dev/usb/ehci.c === RCS file: /cvs/src/sys/dev/usb/ehci.c,v retrieving revision 1.131 diff -u -p -r1.131 ehci.c --- sys/dev/usb/ehci.c 19 Apr 2013 08:58:53 - 1.131 +++ sys/dev/usb/ehci.c 17 May 2013 08:37:12 - @@ -1204,6 +1204,7 @@ void ehci_freex(struct usbd_bus *bus, struct usbd_xfer *xfer) { struct ehci_softc *sc = (struct ehci_softc *)bus; + struct usb_task *task = &EXFER(xfer)->abort_task; #ifdef DIAGNOSTIC if (xfer->busy_free != XFER_BUSY) { @@ -1217,6 +1218,8 @@ ehci_freex(struct usbd_bus *bus, struct return; } #endif + if ((task->state & USB_TASK_STATE_ONQ) != 0) + usb_rem_task(xfer->pipe->device, task); SIMPLEQ_INSERT_HEAD(&sc->sc_free_xfers, xfer, next); } Index: sys/dev/usb/ohci.c === RCS file: /cvs/src/sys/dev/usb/ohci.c,v retrieving revision 1.111 diff -u -p -r1.111 ohci.c --- sys/dev/usb/ohci.c 19 Apr 2013 08:58:53 - 1.111 +++ sys/dev/usb/ohci.c 17 May 2013 08:37:13 - @@ -974,6 +974,7 @@ void ohci_freex(struct usbd_bus *bus, struct usbd_xfer *xfer) { struct ohci_softc *sc = (struct ohci_softc *)bus; + struct usb_task *task = &((struct ohci_xfer *)xfer)->abort_task; #ifdef DIAGNOSTIC if (xfer->busy_free != XFER_BUSY) { @@ -983,6 +984,8 @@ ohci_freex(struct usbd_bus *bus, struct } xfer->busy_free = XFER_FREE; #endif + if ((task->state & USB_TASK_STATE_ONQ) != 0) + usb_rem_task(xfer->pipe->device, task); SIMPLEQ_INSERT_HEAD(&sc->sc_free_xfers, xfer, next); } Index: sys/dev/usb/uhci.c === RCS file: /cvs/src/sys/dev/usb/uhci.c,v retrieving revision 1.96 diff -u -p -r1.96 uhci.c --- sys/dev/usb/uhci.c 19 Apr 2013 08:58:53 - 1.96 +++ sys/dev/usb/uhci.c 17 May 2013 08:37:14 - @@ -653,6 +653,7 @@ void uhci_freex(struct usbd_bus *bus, struct usbd_xfer *xfer) { struct uhci_softc *sc = (struct uhci_softc *)bus; + struct usb_task *task = &UXFER(xfer)->abort_task; #ifdef DIAGNOSTIC if (xfer->busy_free != XFER_BUSY) { @@ -666,6 +667,8 @@ uhci_freex(struct usbd_bus *bus, struct return; } #endif + if ((task->state & USB_TASK_STATE_ONQ) != 0) + usb_rem_task(xfer->pipe->device, task); SIMPLEQ_INSERT_HEAD(&sc->sc_free_xfers, xfer, next); }
Re: Wake from zzz causes panic on thinkpad x60
-Original Message- From: owner-t...@openbsd.org [mailto:owner-t...@openbsd.org] On Behalf Of Stefan Sperling Sent: Thursday, February 28, 2013 12:16 PM To: Edd Barrett Cc: tech@openbsd.org Subject: Re: Wake from zzz causes panic on thinkpad x60 On Thu, Feb 28, 2013 at 04:59:12PM +, Edd Barrett wrote: > Hi, > > Went to run some TESTS for release and I am seeing panics when waking > my thinkpad x60 from zzz. > > I didn't have a serial line attached to get trace and ps, so I have > taken pictures of the kernel debugger. Sorry about that. > > http://farm9.staticflickr.com/8505/8516467142_1f3580e87a_c.jpg I've seen this panic in usb_abort_task_thread() on an x60s before. It doesn't happen often. It's not a new issue in recent snaps. A while back I took a brief look at the code but couldn't figure out what's wrong. I work around it by unplugging USB devices before suspend. I get it every resume on my E6400 with no external USB devices plugged in. OpenBSD 5.3 (GENERIC.MP) #53: Wed Feb 27 13:29:57 MST 2013 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 4176793600 (3983MB) avail mem = 4043112448 (3855MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf6520 (57 entries) bios0: vendor Dell Inc. version "A19" date 10/30/2009 bios0: Dell Inc. Latitude E6400 acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP HPET DMAR APIC ASF! MCFG TCPA SLIC SSDT acpi0: wakeup devices PCI0(S4) PCIE(S4) USB1(S0) USB2(S0) USB3(S0) USB4(S0) USB5(S0) USB6(S0) EHC2(S0) EHCI(S0) AZAL(S3) RP01(S4) RP02(S4) RP03(S4) RP04(S3) RP05(S3) RP06(S5) LID_(S3) PBTN(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpihpet0 at acpi0: 14318179 Hz acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz, 2394.41 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE,NXE,LONG,LAHF,PERF cpu0: 3MB 64b/line 8-way L2 cache cpu0: apic clock running at 266MHz cpu1 at mainbus0: apid 1 (application processor) cpu1: Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz, 2394.00 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE,NXE,LONG,LAHF,PERF cpu1: 3MB 64b/line 8-way L2 cache ioapic0 at mainbus0: apid 2 pa 0xfec0, version 20, 24 pins ioapic0: misconfigured as apic 0, remapped to apid 2 acpimcfg0 at acpi0 addr 0xf800, bus 0-63 acpiprt0 at acpi0: bus 3 (PCIE) acpiprt1 at acpi0: bus -1 (AGP_) acpiprt2 at acpi0: bus 11 (RP01) acpiprt3 at acpi0: bus 12 (RP02) acpiprt4 at acpi0: bus 13 (RP03) acpiprt5 at acpi0: bus -1 (RP04) acpiprt6 at acpi0: bus -1 (RP05) acpiprt7 at acpi0: bus -1 (RP06) acpiprt8 at acpi0: bus 0 (PCI0) acpiec0 at acpi0 acpicpu0 at acpi0: C3, C2, C1, PSS acpicpu1 at acpi0: C3, C2, C1, PSS acpitz0 at acpi0: critical temperature is 107 degC acpibtn0 at acpi0: LID_ acpibtn1 at acpi0: PBTN acpibtn2 at acpi0: SBTN acpiac0 at acpi0: AC unit offline acpibat0 at acpi0: BAT0 model "DELL FU27481" serial 65534 type LION oem "Sanyo" acpibat1 at acpi0: BAT1 not present acpivideo0 at acpi0: VID_ acpivideo1 at acpi0: VID_ acpivout0 at acpivideo1: LCD_ acpivideo2 at acpi0: VID2 cpu0: Enhanced SpeedStep 2394 MHz: speeds: 2535, 2534, 1600, 800 MHz pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "Intel GM45 Host" rev 0x07 vga1 at pci0 dev 2 function 0 "Intel GM45 Video" rev 0x07 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) intagp0 at vga1 agp0 at intagp0: aperture at 0xe000, size 0x1000 inteldrm0 at vga1: apic 2 int 16 drm0 at inteldrm0 "Intel GM45 Video" rev 0x07 at pci0 dev 2 function 1 not configured "Intel GM45 HECI" rev 0x07 at pci0 dev 3 function 0 not configured pciide0 at pci0 dev 3 function 2 "Intel GM45 PT IDER" rev 0x07: DMA (unsupported), channel 0 wired to native-PCI, channel 1 wired to native-PCI pciide0: using apic 2 int 18 for native-PCI interrupt pciide0: channel 0 ignored (not responding; disabled or no drives?) pciide0: channel 1 ignored (not responding; disabled or no drives?) puc0 at pci0 dev 3 function 3 "Intel GM45 KT" rev 0x07: ports: 1 com com2 at puc0 port 0 apic 2 int 17: ns16550a, 16 byte fifo com2: probed fifo depth: 0 bytes em0 at pci0 dev 25 function 0 "Intel ICH9 IGP M AMT" rev 0x03: msi, address 00:26:b9:97:c6:58 uhci0 at pci0 dev 26 function 0 "Intel 82801I USB" rev 0x03: apic 2 int 20 uhci1 at pci0 dev 26 function 1 "Intel 82801I USB" rev 0x03: apic 2 int 21 uhci2 at pci0 dev 26 function 2 "Intel 82801
Re: Wake from zzz causes panic on thinkpad x60
On Thu, Feb 28, 2013 at 04:59:12PM +, Edd Barrett wrote: > Come to think of it those snaps are probably too old for TESTS. So when > newer snaps hit the mirror I will re-run this test. I can confirm that this is still a problem with Feb 28th amd64 snaps. -- Best Regards Edd Barrett http://www.theunixzoo.co.uk
Re: Wake from zzz causes panic on thinkpad x60
On Thu, Feb 28, 2013 at 04:59:12PM +, Edd Barrett wrote: > Hi, > > Went to run some TESTS for release and I am seeing panics when waking > my thinkpad x60 from zzz. > > I didn't have a serial line attached to get trace and ps, so I have > taken pictures of the kernel debugger. Sorry about that. > > http://farm9.staticflickr.com/8505/8516467142_1f3580e87a_c.jpg I've seen this panic in usb_abort_task_thread() on an x60s before. It doesn't happen often. It's not a new issue in recent snaps. A while back I took a brief look at the code but couldn't figure out what's wrong. I work around it by unplugging USB devices before suspend.
Wake from zzz causes panic on thinkpad x60
Hi, Went to run some TESTS for release and I am seeing panics when waking my thinkpad x60 from zzz. I didn't have a serial line attached to get trace and ps, so I have taken pictures of the kernel debugger. Sorry about that. http://farm9.staticflickr.com/8505/8516467142_1f3580e87a_c.jpg http://farm9.staticflickr.com/8365/8515354029_e6dd395e0f_c.jpg http://farm9.staticflickr.com/8505/8516469398_8d7b461c32_c.jpg I am using snaps I downloaded today from: ftp://ftp.fr.openbsd.org/pub/OpenBSD/snapshots/amd64/ Dates on the tarballs are: * Feb 22nd base * Feb 14th X11 Come to think of it those snaps are probably too old for TESTS. So when newer snaps hit the mirror I will re-run this test. Dmesg follows: OpenBSD 5.3 (GENERIC.MP) #46: Thu Feb 21 20:37:49 MST 2013 dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 2119892992 (2021MB) avail mem = 2041028608 (1946MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xe0010 (63 entries) bios0: vendor LENOVO version "7NETB7WW (2.17 )" date 07/29/2008 bios0: LENOVO 7674FA9 acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP SSDT ECDT TCPA APIC MCFG HPET SLIC BOOT ASF! SSDT SSDT SSDT SSDT acpi0: wakeup devices LID_(S3) SLPB(S3) DURT(S3) IGBE(S4) EXP0(S4) EXP1(S4) EXP2(S4) EXP3(S4) EXP4(S4) PCI1(S4) USB0(S3) USB1(S3) USB2(S3) USB3(S3) USB4(S3) EHC0(S3) EHC1(S3) HDEF(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpiec0 at acpi0 acpimadt0 at acpi0 addr 0xfee0: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz, 798.16 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF cpu0: 4MB 64b/line 16-way L2 cache cpu0: apic clock running at 199MHz cpu1 at mainbus0: apid 1 (application processor) cpu1: Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz, 798.00 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF cpu1: 4MB 64b/line 16-way L2 cache ioapic0 at mainbus0: apid 1 pa 0xfec0, version 20, 24 pins ioapic0: misconfigured as apic 2, remapped to apid 1 acpimcfg0 at acpi0 addr 0xf000, bus 0-63 acpihpet0 at acpi0: 14318179 Hz acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus -1 (AGP_) acpiprt2 at acpi0: bus 2 (EXP0) acpiprt3 at acpi0: bus 3 (EXP1) acpiprt4 at acpi0: bus -1 (EXP2) acpiprt5 at acpi0: bus -1 (EXP3) acpiprt6 at acpi0: bus -1 (EXP4) acpiprt7 at acpi0: bus 5 (PCI1) acpicpu0 at acpi0: C3, C2, C1, PSS acpicpu1 at acpi0: C3, C2, C1, PSS acpipwrres0 at acpi0: PUBS acpitz0 at acpi0: critical temperature is 127 degC acpitz1 at acpi0: critical temperature is 99 degC acpibtn0 at acpi0: LID_ acpibtn1 at acpi0: SLPB acpibat0 at acpi0: BAT0 model "93P5030" serial83 type LION oem "SANYO" acpibat1 at acpi0: BAT1 not present acpibat2 at acpi0: BAT2 not present acpiac0 at acpi0: AC unit offline acpithinkpad0 at acpi0 acpidock0 at acpi0: GDCK not docked (0) cpu0: Enhanced SpeedStep 798 MHz: speeds: 2001, 2000, 1600, 1200, 800 MHz pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "Intel GM965 Host" rev 0x0c vga1 at pci0 dev 2 function 0 "Intel GM965 Video" rev 0x0c wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) intagp0 at vga1 agp0 at intagp0: aperture at 0xe000, size 0x1000 inteldrm0 at vga1: apic 1 int 16 drm0 at inteldrm0 "Intel GM965 Video" rev 0x0c at pci0 dev 2 function 1 not configured em0 at pci0 dev 25 function 0 "Intel ICH8 IGP M AMT" rev 0x03: msi, address 00:1d:72:9a:f2:fd uhci0 at pci0 dev 26 function 0 "Intel 82801H USB" rev 0x03: apic 1 int 20 uhci1 at pci0 dev 26 function 1 "Intel 82801H USB" rev 0x03: apic 1 int 21 ehci0 at pci0 dev 26 function 7 "Intel 82801H USB" rev 0x03: apic 1 int 22 usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 azalia0 at pci0 dev 27 function 0 "Intel 82801H HD Audio" rev 0x03: msi azalia0: codecs: Analog Devices AD1984, Conexant/0x2bfa, using Analog Devices AD1984 audio0 at azalia0 ppb0 at pci0 dev 28 function 0 "Intel 82801H PCIE" rev 0x03: msi pci1 at ppb0 bus 2 ppb1 at pci0 dev 28 function 1 "Intel 82801H PCIE" rev 0x03: msi pci2 at ppb1 bus 3 iwn0 at pci2 dev 0 function 0 "Intel Wireless WiFi Link 4965" rev 0x61: msi, MIMO 2T3R, MoW2, address 00:21:5c:4f:4e:9b uhci2 at pci0 dev 29 function 0 "Intel 82801H USB" rev 0x03: apic 1 int 16 uhci3 at pci0 dev 29 function 1 "Intel 82801H USB" rev 0x03: apic 1 int 17 ehci1 at pci0 dev 29 function 7 "Intel 82801H USB" rev 0x03: apic 1 int 19 usb1 at ehci1: USB revision 2.0 uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1 ppb2 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xf3 pci3 at ppb2 bus 5 cbb0 at pci3 dev 0 functio