2.1.130 Oops (sound related, reproducable)

Nic Bellamy (sky@wibble.net)
Sat, 28 Nov 1998 17:21:00 +1300 (NZDT)


Hi all,
just been fiddling with 2.1.130, and I've found a way to oops it.
If I load my sound module (sb.o in this case, for a SB16), but give it the
wrong parameters, it appears the probe routines are not releasing the I/O
port (this is my relatively uneducated guess, anyway). I saw a similar
report earlier, but with a different driver.

My card is actually on I/O 0x220 IRQ 7, DMA 1.

e.g.

# modprobe -V
modprobe (Linux modutils) 2.1.121

# modprobe sb io=0x220 irq=7 dma=5
SB 4.13 detected OK (220)
SB16: Invalid 8 bit DMA (5)
/lib/modules/2.1.130/misc/sb.o: init_module: Device or resource busy
sound: Device or resource busy

# cat /proc/ioports
[ Oops occurs here ]

Klogd didn't want to deal with the oops, so I ran it through ksymoops:

Using `/boot/System.map-2.1.130' to map addresses to symbols.

>>EIP: c01c498f <vsprintf+28f/414>
Trace: c01c4b28 <sprintf+14/1018>
Trace: c01c82ec <tvecs+730/a423>
Trace: c0115ecc <get_ioport_list+38/64>
Trace: c01c82dd <tvecs+721/a423>
Trace: c883d2fe
Trace: c0142bc6 <get_root_array+16e/1b0>
Trace: c0142e1a <array_read+fa/21c>
Trace: c010cf83 <do_page_fault+143/364>
Trace: c01221aa <sys_read+c6/118>
Trace: c0107a98 <system_call+34/38>
Code: c01c498f <vsprintf+28f/414>
Code: c01c498f <vsprintf+28f/414> 80 38 00 cmpb $0x0,(%eax)
Code: c01c4992 <vsprintf+292/414> 74 07 je c01c499b <vsprintf+29b/414>
Code: c01c4994 <vsprintf+294/414> 40 incl %eax
Code: c01c4995 <vsprintf+295/414> 4a decl %edx
Code: c01c4996 <vsprintf+296/414> 83 fa ff cmpl $0xffffffff,%edx
Code: c01c4999 <vsprintf+299/414> 75 f4 jne c01c498f <vsprintf+28f/414>
Code: c01c499b <vsprintf+29b/414> 29 c8 subl %ecx,%eax
Code: c01c499d <vsprintf+29d/414> 89 c6 movl %eax,%esi
Code: c01c499f <vsprintf+29f/414> f7 c5 10 00 00 testl $0x90000010,%ebp
Code: c01c49a5 <vsprintf+2a5/414> 90 nop
Code: c01c49a6 <vsprintf+2a6/414> 90 nop

My kernel config is below.

On the upside, if I give it the correct parameters, it loads and works
great :-)

Regards,
Nic.

P.S. I can't cope with the full traffic of the LKML, so if you need to
involve me in further discussion, please CC me.

Nic Bellamy <sky@wibble.net>
System Administrator, Wibble.net - http://www.wibble.net/

Kernel configuration:

CONFIG_M686=y
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_QUIRKS=y
CONFIG_PCI_OLD_PROC=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=y
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=m
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y
CONFIG_BLK_DEV_LOOP=m
CONFIG_PARIDE_PARPORT=y
CONFIG_PACKET=y
CONFIG_FIREWALL=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_FIREWALL=y
CONFIG_NET_IPIP=m
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_ADVANSYS=y
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_NET_ETHERNET=y
CONFIG_NET_EISA=y
CONFIG_NE2K_PCI=m
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=m
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
CONFIG_MOUSE=y
CONFIG_PSMOUSE=y
CONFIG_QUOTA=y
CONFIG_MINIX_FS=m
CONFIG_EXT2_FS=y
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
CONFIG_NFSD=y
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
CONFIG_SMB_FS=m
CONFIG_SMB_WIN95=y
CONFIG_AUTOFS_FS=y
CONFIG_DEVPTS_FS=y
CONFIG_NLS=y
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_ISO8859_1=m
CONFIG_VGA_CONSOLE=y
CONFIG_SOUND=m
CONFIG_SOUND_OSS=m
CONFIG_SOUND_SB=m
CONFIG_SOUND_YM3812=m
CONFIG_MAGIC_SYSRQ=y

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/