Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Jan 2003 22:57:36 +0100 (CET)
From:      Lukas Ertl <l.ertl@univie.ac.at>
To:        freebsd-mobile@freebsd.org
Subject:   5.0 and Thinkpad T20: ACPI related panics
Message-ID:  <20030119223421.X363@leelou.in.tern>

next in thread | raw e-mail | index | archive | help
Hi there,

today I upgraded my Thinkpad T20 from 4.7 to 5.0, just to see how it might
run. The upgrade itself went smoothly, but I have big problems getting
ACPI power management/suspend/resume to work.

First off, apm worked quite good with 4.7; closing the lid, issueing "zzz"
or hitting the suspend button put the laptop into sleep mode.

Ok, now with 5.0, closing the lid seems to do nothing. If I open it again
I either get some information messages about "resetting devices" and "wake
up from sleep mode", but I'm sure the machine hasn't slept (suspend led
wasn't on, but hard disk and fan were still running), or I get a kernel
panic and after the crash dump the machine hits a deadlock or something
(it doesn't do anything, like rebooting or so, it justs sits there and
does nothing and I can only power-cycle it).

If I press the suspend key (the blue Fn+F4), the display looks like it is
melting away. Really. I've never seen something like this before: the
screen is black (classic console), and if I suspend, it starts fading into
yellow and bright white from the bottom slowly all over the screen. I was
shocked when I first saw it. (If you're interested in how that looks I can
take a picture or a short movie.)

If I hit the Fn key again, the screen goes back to normal black, but I get
again a kernel panic.

("zzz" doesn't do anything but giving an IOCTL error - as expected, since
there's no apm in kernel and no apmd running. "apm" itself shows me the
correct battery status, though.)

Following is the dmesg and a backtrace of one of the panics (suspend and
resume with Fn key).

Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 5.0-CURRENT #0: Sun Jan 19 20:07:10 CET 2003
    le@korben:/usr/src/sys/i386/compile/KORBEN
Preloaded elf kernel "/boot/kernel/kernel" at 0xc053f000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc053f0a8.
Preloaded elf module "/boot/kernel/acpi.ko" at 0xc053f0f8.
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 696974546 Hz
CPU: Intel Pentium III (696.97-MHz 686-class CPU)
  Origin =3D "GenuineIntel"  Id =3D 0x683  Stepping =3D 3

Features=3D0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CM=
OV,PA
T,PSE36,MMX,FXSR,SSE>
real memory  =3D 268369920 (255 MB)
avail memory =3D 255029248 (243 MB)
Initializing GEOMetry subsystem
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <PTLTD    RSDT  > on motherboard
Using $PIR table, 11 entries at 0xc00fdee0
    ACPI-0625: *** Info: GPE Block0 defined as GPE0 to GPE15
acpi0: power button is handled as a fixed feature programming model.
Timecounter "ACPI-safe"  frequency 3579545 Hz
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0
acpi_cpu0: <CPU> on acpi0
acpi_tz0: <thermal zone> port 0x530-0x537 on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <Intel 82443BX (440 BX) host to PCI bridge> mem
0xf8000000-0xfbffffff at d
evice 0.0 on pci0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
cbb0: <TI1450 PCI-CardBus Bridge> mem 0x50000000-0x50000fff irq 11 at
device 2.0
 on pci0
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
cbb1: <TI1450 PCI-CardBus Bridge> mem 0x50100000-0x50100fff irq 11 at
device 2.1
 on pci0
cardbus1: <CardBus bus> on cbb1
pccard1: <16-bit PCCard bus> on cbb1
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0x1800-0x183f mem
0xe8100000-0xe811
ffff,0xe8120000-0xe8120fff irq 11 at device 3.0 on pci0
fxp0: Ethernet address 00:02:b3:04:8d:3b
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pci0: <simple comms, UART> at device 3.1 (no driver attached)
csa0: <CS4280/CS4614/CS4622/CS4624/CS4630> mem
0xe8000000-0xe80fffff,0xe8122000-
0xe8122fff irq 11 at device 5.0 on pci0
csa: card is Thinkpad 600X/A20/T20
pcm0: <CS461x PCM Audio> on csa0
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0x1850-0x185f at device 7.1
on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x1860-0x187f irq 11
at de
vice 7.2 on pci0
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
pci0: <bridge, PCI-unknown> at device 7.3 (no driver attached)
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> port
0x3f7,0x3f0-0
x3f5 irq 6 drq 2 on acpi0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
acpi_ec0: <embedded controller> port 0x66,0x62 on acpi0
acpi_cmbat0: <Control method Battery> on acpi0
acpi_cmbat1: <Control method Battery> on acpi0
acpi_acad0: <AC adapter> on acpi0
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
orm0: <Option ROMs> at iomem
0xe0000-0xeffff,0xcc000-0xcd7ff,0xc0000-0xcbfff on
isa0
pmtimer0 on isa0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=3D0x300>
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 8250 or not responding
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 10.000 msec
acpi_cpu: CPU throttling available, 8 steps from 100% to 12.5%
system power profile changed to 'economy'
ad0: 19077MB <TOSHIBA MK2017GAP> [38760/16/63] at ata0-master UDMA33
acd0: DVD-ROM <TOSHIBA DVD-ROM SD-C2302> at ata1-master UDMA33
Mounting root from ufs:/dev/ad0s2a
WARNING: / was not properly dismounted
system power profile changed to 'performance'
WARNING: /home was not properly dismounted
WARNING: /usr was not properly dismounted
WARNING: /var was not properly dismounted
system power profile changed to 'economy'
    ACPI-0432: *** Error: Handler for [EmbeddedControl] returned AE_ERROR
    ACPI-1287: *** Error: Method execution failed, AE_ERROR
    ACPI-0432: *** Error: Handler for [EmbeddedControl] returned AE_ERROR
    ACPI-1287: *** Error: Method execution failed, AE_ERROR
    ACPI-0432: *** Error: Handler for [EmbeddedControl] returned AE_ERROR
    ACPI-1287: *** Error: Method execution failed, AE_ERROR


I often see ACPI errors like those in the last lines. Ok, and here's the
backtrace:

[root@korben crash]# gdb -k /usr/src/sys/i386/compile/KORBEN/kernel.debug
vmcore.2
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for
details.
This GDB was configured as "i386-undermydesk-freebsd"...
panic: bdwrite: buffer is not busy
panic messages:
---
panic: ata_dmasetup: transfer active on this device!

syncing disks, buffers remaining... panic: bdwrite: buffer is not busy
Uptime: 4m8s
Dumping 255 MB
ata0: resetting devices ..
done
 16 32 48 64 80 96 112 128 144 160 176 192 208 224 240
---
#0  doadump () at ../../../kern/kern_shutdown.c:232
232             dumping++;
(kgdb) where
#0  doadump () at ../../../kern/kern_shutdown.c:232
#1  0xc023ca49 in boot (howto=3D260) at ../../../kern/kern_shutdown.c:364
#2  0xc023cc83 in panic () at ../../../kern/kern_shutdown.c:531
#3  0xc027fab0 in bdwrite (bp=3D0xc0ec87e0) at ../../../kern/vfs_bio.c:955
#4  0xc032048b in ffs_update (vp=3D0xc29dcc34, waitfor=3D0)
    at ../../../ufs/ffs/ffs_inode.c:125
#5  0xc0334dbf in ffs_fsync (ap=3D0xcd25c9c0) at
=2E./../../ufs/ffs/ffs_vnops.c:315
#6  0xc0333d87 in ffs_sync (mp=3D0xc2798200, waitfor=3D2, cred=3D0xc0eb5e80=
,
    td=3D0xc0408120) at vnode_if.h:612
#7  0xc0294edb in sync (td=3D0xc0408120, uap=3D0x0)
    at ../../../kern/vfs_syscalls.c:138
#8  0xc023c632 in boot (howto=3D256) at ../../../kern/kern_shutdown.c:273
#9  0xc023cc83 in panic () at ../../../kern/kern_shutdown.c:531
#10 0xc0155af3 in ata_dmastart (atadev=3D0x0, data=3D0x0, count=3D6144, dir=
=3D0)
    at ../../../dev/ata/ata-dma.c:1524
#11 0xc0157c69 in ad_transfer (request=3D0xc27fd980)
    at ../../../dev/ata/ata-disk.c:503
#12 0xc0146129 in ata_start (ch=3D0xc25ac800) at
=2E./../../dev/ata/ata-all.c:714
#13 0xc0146dd7 in ata_reinit (ch=3D0xc25ac800) at
=2E./../../dev/ata/ata-all.c:963
#14 0xc01451a1 in ata_resume (dev=3D0x0) at ../../../dev/ata/ata-all.c:296
#15 0xc025315d in bus_generic_resume (dev=3D0x0) at device_if.h:75
#16 0xc025315d in bus_generic_resume (dev=3D0x0) at device_if.h:75
#17 0xc025315d in bus_generic_resume (dev=3D0x0) at device_if.h:75
#18 0xc052157a in ?? ()
#19 0xc052217a in ?? ()
#20 0xc025315d in bus_generic_resume (dev=3D0x0) at device_if.h:75
#21 0xc025315d in bus_generic_resume (dev=3D0x0) at device_if.h:75
#22 0xc025315d in bus_generic_resume (dev=3D0x0) at device_if.h:75
#23 0xc051c0d1 in ?? ()
#24 0xc051c1bd in ?? ()
#25 0xc051c382 in ?? ()
#26 0xc051da1a in ?? ()
#27 0xc0526970 in ?? ()
#28 0xc02277b3 in fork_exit (callout=3D0xc0526870, arg=3D0x0, frame=3D0x0)
    at ../../../kern/kern_fork.c:873
(kgdb) fr 10
#10 0xc0155af3 in ata_dmastart (atadev=3D0x0, data=3D0x0, count=3D6144, dir=
=3D0)
    at ../../../dev/ata/ata-dma.c:1524
1524                panic("ata_dmasetup: transfer active on this
device!");
(kgdb) list
1519        struct ata_channel *ch =3D atadev->channel;
1520        struct ata_dmastate *ds =3D &atadev->dmastate;
1521        struct ata_dmasetup_data_cb_args cba;
1522
1523        if (ds->flags & ATA_DS_ACTIVE)
1524                panic("ata_dmasetup: transfer active on this
device!");
1525
1526        switch(ch->chiptype) {
1527        case 0x0d38105a:  /* Promise Fasttrak 66 */
1528        case 0x4d38105a:  /* Promise Ultra/Fasttrak 66 */

The other panics I get also seem to be around in ata_dmastart().

Any help, tips or RTFMs are greatly appreciated. (Please keep me CC'ed as
I don't remember if I'm still subscribed :-)

best regards,
le

--=20
Lukas Ertl                              eMail: l.ertl@univie.ac.at
UNIX-Systemadministrator                Tel.:  (+43 1) 4277-14073
Zentraler Informatikdienst (ZID)        Fax.:  (+43 1) 4277-9140
der Universit=E4t Wien                    http://mailbox.univie.ac.at/~le/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




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