ATA: promise: infinite recursion getting status

From: Marcel Moolenaar <xcllnt_at_mac.com>
Date: Fri, 11 Apr 2008 18:02:43 -0700
Soren,

On my powerpc machine I run into the following infinite recursion
with the latest ATA code:


	:
firewire0: 2 nodes, maxhop <= 1, cable IRM = 1 (me)
firewire0: bus manager 1 (me)
[thread pid 11 tid 100026 ]
Stopped at      0x253480:       stwu    r1, r1, -0x10
db> bt
Tracing pid 11 tid 100026 td 0xc77840
0xdc180028: at ata_promise_tx2_status+0x7c
0xdc180048: at ata_promise_tx2_status+0x7c
0xdc180068: at ata_promise_tx2_status+0x7c
0xdc180088: at ata_promise_tx2_status+0x7c
0xdc1800a8: at ata_promise_tx2_status+0x7c
0xdc1800c8: at ata_promise_tx2_status+0x7c
	:
0xdc183c88: at ata_promise_tx2_status+0x7c
0xdc183ca8: at ata_promise_tx2_status+0x7c
0xdc183cc8: at ata_promise_tx2_status+0x7c
0xdc183ce8: at ata_promise_tx2_status+0x7c
0xdc183d08: at ata_interrupt+0x54
0xdc183d28: at ata_generic_intr+0x4c
0xdc183d48: at ithread_loop+0x220
0xdc183da8: at fork_exit+0xb4
0xdc183dc8: at fork_trampoline+0xc
db>


Previously ata_promise_tx2_status() called ata_pci_status(),
but now it dereferences ch->hw.status(), which is itself.
Is this a known issue?

The boot log of the previous kernel follows:


Copyright (c) 1992-2008 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 is a registered trademark of The FreeBSD Foundation.
FreeBSD 8.0-CURRENT #2: Thu Apr 10 18:24:08 PDT 2008
     marcel_at_xserve.xcllnt.net:/usr/obj/nfs/freebsd/8.x/src/sys/XSERVE
WARNING: WITNESS option enabled, expect reduced performance.
cpu0: Motorola PowerPC 7455 revision 2.1, 1000.00 MHz
cpu0: HID0 8450c0bc<EMCP,TBEN,NAP,DPM,ICE,DCE,SGE,BTIC,LRSTK,FOLD,BHT>
real memory  = 527376384 (502 MB)
avail memory = 510140416 (486 MB)
nexus0: <Open Firmware Nexus device>
unin0: <Apple UniNorth System Controller> on nexus0
unin0: Version 36
pcib0: <Apple UniNorth Host-PCI bridge> on nexus0
pci0: <PCI bus> on pcib0
bge0: <Apple BCM5701 B5, ASIC rev. 0x105> mem 0xa0000000-0xa000ffff  
irq 48 at device 16.0 on pci0
miibus0: <MII bus> on bge0
brgphy0: <BCM5701 10/100/1000baseTX PHY> PHY 1 on miibus0
brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,  
1000baseT-FDX, auto
bge0: Ethernet address: 00:03:93:c0:54:18
bge0: [ITHREAD]
pcib1: <Apple UniNorth Host-PCI bridge> on nexus0
pci1: <PCI bus> on pcib1
pcib2: <Open Firmware PCI-PCI bridge> at device 13.0 on pci1
pci2: <PCI bus> on pcib2
macio0: <KeyLargo I/O Controller> mem 0x80000000-0x8007ffff at device  
7.0 on pci2
openpic0: <OpenPIC Interrupt Controller> mem 0x40000-0x7ffff on macio0
scc0: <Zilog Z8530 dual channel SCC> mem 0x13000-0x13fff,0x8400-0x84ff, 
0x8500-0x85ff,0x8600-0x86ff,0x8700-0x87ff irq 22,23 on macio0
scc0: [FILTER]
scc0: [FILTER]
uart0: <z8530, channel A> on scc0
uart0: [FILTER]
uart0: console (57600,n,8,1)
uart1: <z8530, channel B> on scc0
uart1: [FILTER]
ohci0: <Apple KeyLargo USB controller> mem 0x80081000-0x80081fff irq  
27 at device 8.0 on pci2
ohci0: [GIANT-LOCKED]
ohci0: [ITHREAD]
usb0: OHCI version 1.0
usb0: <Apple KeyLargo USB controller> on ohci0
usb0: USB revision 1.0
uhub0: <Apple OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
ohci1: <Apple KeyLargo USB controller> mem 0x80080000-0x80080fff irq  
28 at device 9.0 on pci2
ohci1: [GIANT-LOCKED]
ohci1: [ITHREAD]
usb1: OHCI version 1.0
usb1: <Apple KeyLargo USB controller> on ohci1
usb1: USB revision 1.0
uhub1: <Apple OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
pcib3: <Open Firmware PCI-PCI bridge> at device 17.0 on pci1
pci3: <PCI bus> on pcib3
pcib1: failed to reserve resource for (null)
vgapci0: <VGA-compatible display> port 0x1000-0x10ff mem  
0x88000000-0x8fffffff,0x80100000-0x8010ffff irq 52 at device 2.0 on pci3
atapci0: <Promise PDC20270 UDMA100 controller> port  
0x1090-0x1097,0x1080-0x1083,0x1070-0x1077,0x1060-0x1063,0x1050-0x105f  
mem 0x90030000-0x9003ffff irq 58 at device 21.0 on pci1
atapci0: [ITHREAD]
ata2: <ATA channel 0> on atapci0
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci0
ata3: [ITHREAD]
atapci1: <Promise PDC20270 UDMA100 controller> port  
0x1040-0x1047,0x1030-0x1033,0x1020-0x1027,0x1010-0x1013,0x1000-0x100f  
mem 0x90010000-0x9001ffff irq 63 at device 27.0 on pci1
atapci1: [ITHREAD]
ata4: <ATA channel 0> on atapci1
ata4: [ITHREAD]
ata5: <ATA channel 1> on atapci1
ata5: [ITHREAD]
pcib4: <Apple UniNorth Host-PCI bridge> on nexus0
pci4: <PCI bus> on pcib4
pci4: <unknown> at device 13.0 (no driver attached)
fwohci0: <Apple UniNorth> mem 0xf5000000-0xf5000fff irq 40 at device  
14.0 on pci4
fwohci0: [FILTER]
fwohci0: OHCI version 1.10 (ROM=0)
fwohci0: No. of Isochronous channels is 8.
fwohci0: EUI64 00:03:93:ff:fe:a8:cc:16
fwohci0: Phy 1394a available S400, 3 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
sbp0: <SBP-2/SCSI over FireWire> on firewire0
fwohci0: Initiate bus reset
fwohci0: BUS reset
fwohci0: node_id=0xc800ffc1, gen=2, CYCLEMASTER mode
gem0: <Apple UniNorth2 GMAC Ethernet> mem 0xf5200000-0xf53fffff irq 41  
at device 15.0 on pci4
miibus1: <MII bus> on gem0
brgphy1: <BCM5754 10/100/1000baseTX PHY> PHY 0 on miibus1
brgphy1:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,  
1000baseT-FDX, auto
gem0: 10kB RX FIFO, 4kB TX FIFO
gem0: Ethernet address: 00:03:93:a8:cc:16
gem0: [ITHREAD]
Timecounter "decrementer" frequency 33229718 Hz quality 0
Timecounters tick every 10.000 msec
firewire0: 2 nodes, maxhop <= 1, cable IRM = 1 (me)
firewire0: bus manager 1 (me)
ad0: 117800MB <IBM IC35L120AVVA07-0 VA6BA52A> at ata2-master UDMA100
ad1: 117800MB <IBM IC35L120AVVA07-0 VA6BA52A> at ata3-master UDMA100
ad2: 58644MB <IBM IC35L060AVVA07-0 VA3BA52A> at ata4-master UDMA100
WARNING: WITNESS option enabled, expect reduced performance.
Trying to mount root from ufs:/dev/ad0s3


-- 
Marcel Moolenaar
xcllnt_at_mac.com
Received on Fri Apr 11 2008 - 23:02:47 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:29 UTC