Messages in this thread |  | | Subject | 2.0.18 locks up during sound init | From | Duncan Roe <> | Date | Mon, 09 Sep 1996 19:39:52 +1000 |
| |
(have been away a while - hope this isn't a FAQ :)
Hi,
Can anyone help with this? I would be happy to try out any patches or supply other requested info, if you would give me directions how to get it. I don't yet know enough about kernel internels to do much more myself...
I tried installing 2.0.18 but the system locked solid after the boot message:
"Sound initialization started"
I had to press the reset button and boot 1.2.13 :(
There are 2 non-default settings for my SB16: the IRQ is 10 and the MPU401 port is 0x300. By inserting printk's, I located the line at which the hang occurs, as follows:-
--- Begin trace
drivers/sound/dev_table.c:99 (start_cards) calls sound_drivers[drv].attach (attach_sb_card), after printing the "Sound initialization started" message
drivers/sound/sb_card.c:27 (attach_sb_card) calls sb_dsp_init
drivers/sound/sb_common.c:680 (sb_dsp_init) calls snd_set_irq_handler
drivers/sound/soundcard.c:503 (snd_set_irq_handler) HANGS on (macro) call to restore_flags. request_irq has been "successfully" called for the configured IRQ (10)
The failing routine:-
486 int 487 snd_set_irq_handler (int interrupt_level, void (*iproc) (int, void *, struct pt_regs *), char *name, int *osp) 488 { 489 int retcode; 490 unsigned long flags; 491 492 save_flags (flags); 493 cli (); 494 495 retcode = request_irq (interrupt_level, iproc, 0 /* SA_INTERRUPT */ , name, NULL); 496 if (retcode < 0) 497 { 498 printk ("Sound: IRQ%d already in use\n", interrupt_level); 499 } 500 else 501 irqs |= (1ul << interrupt_level); 502 503 restore_flags (flags); 504 return retcode; 505 }
--- End trace
The previous kernel I had handy was 2.0.0 - this initialises OK. As a test, I did a "cat english.au>/dev/audio" : worked fine except a bit loud perhaps (but I think I saw mail about that earlier).
Today I have tried building a number of intermediate kernel revisions, with the following results:-
2.0.9 - hangs same as 2.0.18
2.0.4 - didn't compile. Added missing semicolon to drivers/sound/sb_common.c:1176, now it would build but panicked during sound initialisation: "Unable to dereference NULL pointer"
2.0.2 - panics same as 2.0.4
2.0.6 - hangs same as 2.0.9, 2.0.18
2.0.1 - panics same as 2.0.4, 2.0.2
It looks to me as if something was broken at 2.0.1, and "partly fixed" at 2.0.6 or 2.0.5 (will try that last one tomorrow). But what?
Any ideas, anyone?
Cheers ... Duncan.
P.S. In case it is any help, here is the bootup o/p from 2.0.0:-
Console: 16 point font, 400 scans Console: colour VGA+ 80x25, 1 virtual console (max 63) Calibrating delay loop.. ok - 33.18 BogoMIPS Memory: 30952k/32896k available (784k kernel code, 384k reserved, 776k data) This processor honours the WP bit even when in supervisor mode. Good. Swansea University Computer Society NET3.035 for Linux 2.0 NET3: Unix domain sockets 0.12 for Linux NET3.035. Swansea University Computer Society TCP/IP for NET3.034 IP Protocols: ICMP, UDP, TCP Swansea University Computer Society IPX 0.34 for NET3.035 IPX Portions Copyright (c) 1995 Caldera, Inc. Checking 386/387 coupling... Ok, fpu using exception 16 error reporting. Checking 'hlt' instruction... Ok. Linux version 2.0.0 (dunc@dimstar) (gcc version 2.7.2.f.1) #2 Tue Jul 16 16:56:43 EST 1996 Serial driver version 4.13 with no serial options enabled tty00 at 0x03f8 (irq = 4) is a 16450 tty01 at 0x02f8 (irq = 3) is a 16450 tty03 at 0x02e8 (irq = 3) is a 16550A lp1 at 0x0378, (polling) Sound initialization started <SoundBlaster 16 4.11> at 0x220 irq 10 dma 1,5 <SoundBlaster 16 4.11> at 0x220 irq 10 dma 1,5 <SoundBlaster MPU-401> at 0x300 irq 10 dma 0 Sound initialization complete Floppy drive(s): fd0 is 1.2M, fd1 is 1.44M Started kswapd v 1.4.2.2 FDC 0 is an 8272A scsi: ***** BusLogic SCSI Driver Version 2.0.4 of 5 June 1996 ***** scsi: Copyright 1995 by Leonard N. Zubkoff <lnz@dandelion.com> scsi0: Configuring BusLogic Model BT-445S VESA SCSI Host Adapter scsi0: Firmware Version: 3.35, I/O Address: 0x330, IRQ Channel: 11/Edge scsi0: DMA Channel: None, BIOS Address: 0xDC000, Host Adapter SCSI ID: 7 scsi0: Scatter/Gather Limit: 128 of 8192 segments, Parity Checking: Enabled scsi0: Synchronous Initiation: Disabled, Extended Disk Translation: Disabled scsi0: Disconnect/Reconnect: Enabled, Tagged Queuing: Enabled scsi0: Total Queue Depth: 30, Mailboxes: 255, Initial CCBs: 64 scsi0: Tagged Queue Depth: 2, Untagged Queue Depth: 2 scsi0: Error Recovery Strategy: Default scsi0: *** BusLogic BT-445S Initialized Successfully *** scsi0: Target 0: Asynchronous scsi0: Target 1: Asynchronous scsi0: Target 6: Asynchronous scsi0 : BusLogic BT-445S scsi : 1 host. Vendor: SEAGATE Model: ST3550N Rev: 9416 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 Vendor: SEAGATE Model: ST12400N Rev: 8650 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sdb at scsi0, channel 0, id 1, lun 0 Vendor: SONY Model: CD-ROM CDU-561 Rev: 1.9i Type: CD-ROM ANSI SCSI revision: 02 Detected scsi CD-ROM sr0 at scsi0, channel 0, id 6, lun 0 scsi : detected 1 SCSI cdrom 2 SCSI disks total. SCSI device sda: hdwr sector= 512 bytes. Sectors= 891574 [435 MB] [0.4 GB] SCSI device sdb: hdwr sector= 512 bytes. Sectors= 4194685 [2048 MB] [2.0 GB] PPP: version 2.2.0 (dynamic channel allocation) TCP compression code copyright 1989 Regents of the University of California PPP Dynamic channel allocation code copyright 1995 Caldera, Inc. PPP line discipline registered. SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256). ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov) NE*000 ethercard probe at 0x340: 00 00 1b 40 b7 0e eth0: NE1000 found at 0x340, using IRQ 5. Partition check: sda: sda1 sda2 sda3 sda4 sdb: sdb1 < sdb5 sdb6 sdb7 sdb8 > sdb2 VFS: Mounted root (ext2 filesystem) readonly. scsi0: Tagged Queuing now active for Target 1 Adding Swap: 49148k swap-space Max size:331279 Log zone size:2048 First datazone:68 Root inode number 139264 ISO9660 Extensions: RRIP_1991A
|  |