[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ep0 adapter failure (ffff) hangs machine on GENERIC i386



I have noticed in the last week or so, ever since I updated my gateway box
to -current from 2.5-release that I cannot remotely power it down with
'halt -p' because the machine hangs after emitting the message

ep0: adapter failure (ffff) 

requiring me to walk over and manually power it off.

This hang happens every time I try to 'halt' or 'reboot' the machine.

I saw one message on an openbsd newsgroup where someone else had asked
about this but got no response (yet).

I tracked the message down to /usr/src/sys/dev/ic/elink3.c and the routine
epintr(). In the for(;;) loop if S_CARD_FAILURE is detected (as it must 
be if ffff is being returned I suppose) then the error message is printed
and epreset() is called. It is apparently this call to epreset() that
hangs the machine as when I comment this out the 'halt -p' or 'reboot'
proceeds normally after the error message is emitted.

Now, when I compare the file elink3.c in -current and 2.5-release I find
no changes whatsoever, so I must suspect that a) the change to egcs has
uncovered/created another bug, er, behaviour change or b) splnet() or
splx() (the two routines called in epreset() that are not in the file
elink3.c) are the problem. Or both of course ...

Before I delve further into this I thought I would ask if anyone else
is seeing this problem and whether there are any suggestions on obvious
debugging paths.

I reproduced this on a GENERIC i386 kernel, and I append the dmesg for
that kernel below.

.... Ken

OpenBSD 2.5-current (GENERIC) #12: Sat Aug  7 16:52:19 EDT 1999
    krw_(_at_)_pinky:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: AMD K6-2 ("AuthenticAMD" 586-class) 301 MHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,MMX
BIOS mem  = 654336 conventional, 32440320 extended
real mem  = 33095680
avail mem = 26914816
using 429 buffers containing 1757184 bytes of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(c9) BIOS, date 11/19/98
bios0: apminfo 0xf050700c diskinfo 0xf0507034 cksumlen 1 memmap 0xf05070b0
apm0 at bios0: Power Management spec V1.1
apm0: AC on, no battery
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "VIA VT82C597 (Apollo VP3) Host-PCI" rev 0x04
ppb0 at pci0 dev 1 function 0 "VIA VT82C598 (Apollo MVP3) PCI-AGP" rev 0x00
pci1 at ppb0 bus 1
pcib0 at pci0 dev 7 function 0 "VIA VT82C586 (Apollo VP) PCI-ISA" rev 0x41
pciide0 at pci0 dev 7 function 1 "VIA VT82C586A IDE" rev 0x06: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0: <QUANTUM FIREBALL EX3.2A>
wd0: 16-sector PIO, LBA, 3079MB, 6256 cyl, 16 head, 63 sec, 6306048 sectors
wd0: 32-bit, supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2
pciide0: channel 0 interrupting at irq 14
atapiscsi0 at pciide0 channel 1
atapiscsi0: 32-bit, supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2
pciide0: channel 1 interrupting at irq 15
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (using DMA data transfers)
atapiscsi0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2 (using DMA data transfers)
scsibus0 at atapiscsi0: 2 targets
atapiscsi0: transfer error, downgrading to DMA mode 2
atapiscsi0(pciide0:1:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
cd0 at scsibus0 targ 0 lun 0: <ATAPI, CD-ROM DRIVE-40X, T0CP> SCSI0 5/cdrom removable
"VIA VT82C586 (Apollo VP) Power Management" rev 0x10 at pci0 dev 7 function 3 not configured
"ATI Technologies Mach64 GX" rev 0x01 at pci0 dev 8 function 0 not configured
xl0 at pci0 dev 9 function 0 "3Com 3c905 100Base-TX" rev 0x00: irq 10 address 00:60:08:bf:e3:6d
xl0: autoneg complete, link status good (full-duplex, 100Mbps)
isa0 at mainbus0
isadma0 at isa0
ep0 at isa0 port 0x300/16 irq 5: address 00:20:af:9c:30:66, utp/aui/bnc (default utp)
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
sysbeep0 at pcppi0
npx0 at isa0 port 0xf0/16: using exception 16
vt0 at isa0 port 0x60/16 irq 1: generic VGA, 80 col, color, 8 scr, mf2-kbd
pms0 at vt0 irq 12
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
biomask c040 netmask c460 ttymask d462
root on wd0a
pctr: user-level cycle counter enabled
dkcsum: wd0 matched BIOS disk 80
rootdev=0x0 rrootdev=0x300 rawdev=0x302
IP Filter: initialized.  Default = pass all, Logging = enabled



Visit your host, monkey.org