Bug 16879

Summary: [snd_csa] csa sound drivers seem to be using shared irqs resulting in a panic at boot
Product: Base System Reporter: viren <viren>
Component: kernAssignee: Remko Lodder <remko>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.0-CURRENT   
Hardware: Any   
OS: Any   

Description viren 2000-02-21 15:40:00 UTC
I can use a kernel from jan18 and boot with sound configured. The next
time I tried make world and a new kernel was feb 5, and the system paniced
at boot. It seems that a new device is being found by the sound drivers
-- csa0 (this device was not present in the jan18 kernel). It seems to be
using an irq used by some other device. If I have xl0 (my NIC) configured
in the kernel, then it uses the irq configured by xl0, resulting in a panic
at boot when ifconfig is run. If xl0 is a module, csa0 takes theirq of
my adaptec driver (ahc0), and then the panic is simply when the "idle"
process is running.

I can repeat this problem at will. I have a debug kernel lying around
for the panic. If someone will tell me what debug info they want, I'll
be happy to oblige.

The panic is:


Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x28
fault code            = supervisor read, page not present
isntruction pointer   = 0x8:0xc01f79f3
stack pointer         = 0x10:0xc0267798
frame pointer         = 0x10:0xc026779c
code segment          = base rx0, limit 0xfffff, type 0x1b
                        DPL 0, pres 1, def32 1, gran 1
processor eflags      = interrupt enabled, resume, IOPL = 0
current process       = Idle
interrupt mask        = tty
kernel: type 12 trap, code = 0
Stopped at csa_readio+0x17: movl 0x28(%eax), %edx

db> trace

csa_readio(c10b7bc4, 0) at csa_readio+0x17
csa_intr(c10b7bc0, 40031232, 0, 0, 0) at csa_intr+0x13
intr_mux(c0a65b80, 0, 10, 10, c0220010, ce220010) at intr_mux+0x1d
Xresume9() at Xresume9+0x2b
--- interrupt, eip=0xc0222ffc, esp = 0xc0267814, epb=0 ---



The dmesg from jan 18 kernel (with working sound):

Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #0: Tue Jan 18 13:28:32 EST 2000
    vshah@jabberwock:/home/ncvs/FreeBSD/current-src/src/sys/compile/SEVEN
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 398271024 Hz
CPU: Pentium II/Xeon/Celeron (398.27-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x651  Stepping = 1
  Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory  = 268435456 (262144K bytes)
avail memory = 257232896 (251204K bytes)
Preloaded elf kernel "kernel.jan18" at 0xc02f3000.
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
vga-pci0: <NVidia Riva128 graphics accelerator> mem 0xfc000000-0xfcffffff,0xf5000000-0xf5ffffff irq 11 at device 0.0 on pci1
isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
ata-pci0: <Intel PIIX4 ATA-33 controller> port 0x14a0-0x14af at device 7.1 on pci0
ata-pci0: Busmastering DMA supported
ata0 at 0x01f0 irq 14 on ata-pci0
ata1 at 0x0170 irq 15 on ata-pci0
pci0: Intel 82371AB/EB (PIIX4) USB controller (vendor=0x8086, dev=0x7112) at 7.2 irq 9
chip1: <Intel 82371AB Power management controller> port 0x7000-0x700f at device 7.3 on pci0
pci0: unknown card (vendor=0x1013, dev=0x6001) at 11.0 irq 9
xl0: <3Com 3c905B-TX Fast Etherlink XL> port 0x1400-0x147f mem 0xf4102000-0xf410207f irq 9 at device 15.0 on pci0
xl0: Ethernet address: 00:10:4b:94:a3:41
miibus0: <MII bus> on xl0
xlphy0: <3Com internal media interface> on miibus0
xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ahc0: <Adaptec 2940 Ultra SCSI adapter> port 0x1000-0x10ff mem 0xf4101000-0xf4101fff irq 9 at device 16.0 on pci0
ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ata-isa0: already registered as ata0
ata-isa1: already registered as ata1
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
vga0: <Generic ISA VGA> at port 0x3b0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
unknown0: <PNP0c02> at iomem 0xe0000-0xe3fff on isa0
unknown1: <PNP0c02> at port 0x370-0x371,0xea-0xeb iomem 0xfffc0000-0xffffffff on isa0
unknown2: <PNP0c01> at iomem 0-0x9ffff,0xe4000-0xfffff,0x100000-0xfffffff,0xfff80000-0xfffbffff on isa0
unknown3: <PNP0200> at port 0-0xf,0x81-0x8f,0xc0-0xdf drq 4 on isa0
unknown: <PNP0000> can't assign resources
unknown4: <PNP0100> at port 0x40-0x43 irq 0 on isa0
unknown5: <PNP0b00> at port 0x70-0x71 irq 8 on isa0
unknown: <PNP0303> can't assign resources
unknown6: <PNP0c04> at port 0xf0-0xff irq 13 on isa0
unknown: <PNP0800> can't assign resources
unknown7: <PNP0a03> at port 0xcf8-0xcff on isa0
unknown8: <PNP0c02> at port 0x4d0-0x4d1,0x8000-0x803f,0x7000-0x700f on isa0
unknown9: <PNP0c02> on isa0
unknown: <PNP0f13> can't assign resources
unknown: <PNP0501> can't assign resources
unknown: <PNP0700> can't assign resources
unknown10: <PNP0400> at port 0x378-0x37f irq 7 on isa0
pcm0: <CS423x> at port 0x534-0x537,0x388-0x38b,0x220-0x22f irq 5 drq 1,0 on isa0
unknown11: <Game> at port 0x200-0x207 on isa0
unknown12: <Ctrl> at port 0x120-0x127 on isa0
unknown13: <MPU> at port 0x330-0x331 irq 10 on isa0
IP packet filtering initialized, divert enabled, rule-based forwarding disabled, default to accept, logging limited to 100 packets/entry by default
ad0: <IBM-DHEA-38451/HP8OA20C> ATA-3 disk at ata0 as master
ad0: 8063MB (16514064 sectors), 16383 cyls, 16 heads, 63 S/T, 512 B/S
ad0: 16 secs/int, 1 depth queue, UDMA33
ad3: <Maxtor 91010D6/PAS23B15> ATA-4 disk at ata1 as slave 
ad3: 9641MB (19746720 sectors), 19590 cyls, 16 heads, 63 S/T, 512 B/S
ad3: 16 secs/int, 1 depth queue, UDMA33
acd0: <NEC CD-ROM DRIVE:28B/3.05> CDROM drive at ata1 as master
acd0: read 2412KB/s (5512KB/s), 256KB buffer, WDMA2
acd0: Reads: CD-R, CD-RW, CD-DA
acd0: Audio: play, 256 volume levels
acd0: Mechanism: ejectable tray
acd0: Medium: no/blank disc inside, unlocked
Waiting 6 seconds for SCSI devices to settle
Mounting root from ufs:/dev/ad0s3a
da0 at ahc0 bus 0 target 1 lun 0
da0: <CONNER CFP1080S 4649> Fixed Direct Access SCSI-2 device 
da0: 10.000MB/s transfers (10.000MHz, offset 15), Tagged Queueing Enabled
da0: 1030MB (2110812 512 byte sectors: 255H 63S/T 131C)



The dmesg from a -current kernel from 02/21 without sound is:

Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #0: Mon Feb 21 09:24:19 EST 2000
    vshah@jabberwock:/home/ncvs/FreeBSD/current-src/src/sys/compile/NOSOUND
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 398271144 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (398.27-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x651  Stepping = 1
  Features=0x183f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory  = 268435456 (262144K bytes)
avail memory = 257323008 (251292K bytes)
Preloaded elf kernel "kernel.old" at 0xc02d7000.
Pentium Pro MTRR support enabled
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: NVidia/SGS-Thomson Riva128 graphics accelerator (vendor=0x12d2, dev=0x0018) at 0.0 irq 11
isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 ATA33 controller> port 0x14a0-0x14af at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pci0: Intel 82371AB/EB (PIIX4) USB controller (vendor=0x8086, dev=0x7112) at 7.2 irq 9
chip1: <Intel 82371AB Power management controller> port 0x7000-0x700f at device 7.3 on pci0
pci0: unknown card (vendor=0x1013, dev=0x6001) at 11.0 irq 9
pci0: unknown card (vendor=0x10b7, dev=0x9055) at 15.0 irq 9
ahc0: <Adaptec 2940 Ultra SCSI adapter> port 0x1000-0x10ff mem 0xf4101000-0xf4101fff irq 9 at device 16.0 on pci0
ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
unknown0: <WSS/SB> at port 0x534-0x537,0x388-0x38b,0x220-0x22f irq 5 drq 1,0 on isa0
unknown1: <Game> at port 0x200-0x207 on isa0
unknown2: <Ctrl> at port 0x120-0x127 on isa0
unknown3: <MPU> at port 0x330-0x331 irq 10 on isa0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad3: 9641MB <Maxtor 91010D6> [19590/16/63] at ata1-slave using UDMA33
acd0: CDROM <NEC CD-ROM DRIVE:28B> at ata1-master using WDMA2
Waiting 2 seconds for SCSI devices to settle
Mounting root from ufs:/dev/ad0s3a
da0 at ahc0 bus 0 target 1 lun 0
da0: <CONNER CFP1080S 4649> Fixed Direct Access SCSI-2 device 
da0: 10.000MB/s transfers (10.000MHz, offset 15), Tagged Queueing Enabled
da0: 1030MB (2110812 512 byte sectors: 255H 63S/T 131C)
pci0: Intel 82371AB/EB (PIIX4) USB controller (vendor=0x8086, dev=0x7112) at 7.2 irq 9
pci0: unknown card (vendor=0x1013, dev=0x6001) at 11.0 irq 9
xl0: <3Com 3c905B-TX Fast Etherlink XL> port 0x1400-0x147f mem 0xf4102000-0xf410207f irq 9 at device 15.0 on pci0
xl0: Ethernet address: 00:10:4b:94:a3:41
pci1: NVidia/SGS-Thomson Riva128 graphics accelerator (vendor=0x12d2, dev=0x0018) at 0.0 irq 11
miibus0: <MII bus> on xl0
xlphy0: <3Com internal media interface> on miibus0
xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto


I can't get dmesg's from the panic'ing kernels, since they panic at boot.

How-To-Repeat: Use a Dell XPS R400 w/ onboard soundcard.

configure a kernel with 

options PNPBIOS
options pcm0
Comment 1 tanimura freebsd_committer freebsd_triage 2000-02-22 02:05:21 UTC
Responsible Changed
From-To: freebsd-bugs->tanimura

csa(4) is mine. 

Comment 2 tanimura 2000-02-22 02:24:45 UTC
On Mon, 21 Feb 2000 07:35:39 -0800 (PST),
  viren@rstcorp.com said:

(snip)
viren> csa_readio(c10b7bc4, 0) at csa_readio+0x17
viren> csa_intr(c10b7bc0, 40031232, 0, 0, 0) at csa_intr+0x13
viren> intr_mux(c0a65b80, 0, 10, 10, c0220010, ce220010) at intr_mux+0x1d
viren> Xresume9() at Xresume9+0x2b
viren> --- interrupt, eip=0xc0222ffc, esp = 0xc0267814, epb=0 ---

viren> The dmesg from jan 18 kernel (with working sound):
(snip)
viren> pcm0: <CS423x> at port 0x534-0x537,0x388-0x38b,0x220-0x22f irq 5 drq 1,0 on isa0

Your PC must be with both CS461x/428x(PCI) and CS423x(ISA codec)
onboard. You can do a quick hack to remove all csa(4)-related sources
from sys/conf/files, while the correct solution is to probe the
accompanying AC97 codec as well, followed by determining whether to
attach the PCI chip or not.

-- 
Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp> <tanimura@FreeBSD.org>
Comment 3 viren 2000-02-22 13:23:45 UTC
>>>>> "Seigo" == Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp> writes:

 Seigo> On Mon, 21 Feb 2000 07:35:39 -0800 (PST),
 Seigo>   viren@rstcorp.com said:


 viren> The dmesg from jan 18 kernel (with working sound):
 Seigo> (snip)
 viren> pcm0: <CS423x> at port 0x534-0x537,0x388-0x38b,0x220-0x22f irq 5 drq 1,0 on isa0

 Seigo> Your PC must be with both CS461x/428x(PCI) and CS423x(ISA codec)
 Seigo> onboard. You can do a quick hack to remove all csa(4)-related sources
 Seigo> from sys/conf/files, while the correct solution is to probe the
 Seigo> accompanying AC97 codec as well, followed by determining whether to
 Seigo> attach the PCI chip or not.

Great! That worked -- I removed all 3 lines from /sys/conf/files that
mentioend csa, and then built a kernel with pcm0. It is currently
working fine. 

Thanks a lot. If you need my help in fixing this problem correctly,
I'd be glad to help.


 Seigo> Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp> <tanimura@FreeBSD.org>

Viren
-- 
Viren R. Shah {viren @ rstcorp . com}
"Never hire a ferret to do a weasel's job"
Comment 4 Giorgos Keramidas freebsd_committer freebsd_triage 2002-12-04 08:09:20 UTC
Adding to audit trail:

: Message-Id: <15853.32725.51631.664653@abitl.local>
: Date: Tue, 3 Dec 2002 23:08:53 -0500
: From: ken22@bcpl.net (Ken Jackson)
:
: I think I'm having a similar problem, but using 4.7-RELEASE.
: Every ethernet packet that I receive results in an immediate
: fatal trap 12.  (The sound card isn't involved.)
:
: This excerpt from dmesg shows that my graphics board and NIC
: are both using irq 11.  This didn't happen with 4.6.
:
: Is there any way I can solve this without compiling a kernel?
:
: pci1: <ATI model 5144 graphics accelerator> at 0.0 irq 11
: vr0: <VIA VT3043 Rhine I 10/100BaseTX> port 0xd800-0xd87f mem 0xef100000-0xef10007f irq 11 at device 16.0 on pci0
: miibus0: <MII bus> on vr0
: amphy0: <DM9101 10/100 media interface> on miibus0
: amphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
Comment 5 Remko Lodder freebsd_committer freebsd_triage 2006-12-30 16:40:11 UTC
State Changed
From-To: open->feedback

hello, is this problem still relevant? 


Comment 6 Remko Lodder freebsd_committer freebsd_triage 2006-12-30 16:40:11 UTC
Responsible Changed
From-To: tanimura->remko

grab the pr
Comment 7 Remko Lodder freebsd_committer freebsd_triage 2006-12-30 17:06:08 UTC
State Changed
From-To: feedback->closed

i get bounces from the original email address and the replacement one. 
Closing the ticket, if you have feedback that requires this pr to be 
reopened, please contact me