I think the recent wdc/pciide change introduced a bug. I'm now getting a panic
during boot. I'll get a full dmesg and trace in a bit, gotta find a ps2 keyboard
and hook up a serial console. But, for now, I'll type it in:

pciide0: port 0: device present, speed: 1.5Gb/s
panic: wdc_exec_command: polled command not done
Stopped at Debugger+0x5: leave
Debugger() at Debugger+0x5
panic() at panic+0xe4
wdc_exec_command() at wdc_exec_command+0x132
ata_get_params() at ataget_params+0x8f
wdcattach() at wdcattach+0x145
sii3114_mapchan() at sii3114_mapchan+0x17a
sii3114_chip_map() at sii3114_chip_map+0x270
config_attach() at config_attach+0x150
pci_probe_device() at pci_probe_device+0x3bb
pci_enumerate_bus() at pci_enumerate_bus+0x3e9
end trace frame: 0xffffffff80e2dac0, count: 0

Tyan Tiger K8W main board. Western Digital Raptor WD360 drive
(all others unplugged). Tested with my own build of the kernel and the
two most recent snapshots. Problem exists across the board.

I'll send a trace and ps (it crashes in config, so this will be
the obvious list) as soon as I can wrangle up a ps2 keyboard
since I lose USB during config.

CVSROOT:/cvs
Module name:src
Changes by:deraadt< at >cvs.openbsd.org2011/04/17 22:16:14

Modified files:
sys/dev/pci    : pciide.c
sys/dev/ata    : ata_wdc.c wd.c
sys/dev/ic     : wdc.c wdcvar.h

Log message:
keep an eye out for wdc registers returning 0xff.  if they return 0xff,
this probably means the controller is dead -- as in, a hot plug eject
event.  in that case, mark the driver dead and try harder to return -1
in the interrupt handler.
tested by many
ok dlg, miod did not object

Scot Bontrager
cloudkucool...@gmail.com
s...@indievisible.org

Reply via email to