[2.1.90] Oops releasing/reloading mad16

Robert Woodcock (rcw@oz.net)
Sun, 22 Mar 1998 14:10:10 -0800 (PST)


Although this one went away when I used the sb module's mad16=1 option
handily mentioned in the sound driver README.C931 instead of abusing
the sb module (my fault :) it's perfectly repeatable:

I have a MAD16-based sound card, actually a Reveal SC400, in Windows Sound
System mode. It's on 0x530, IRQ 10, and DMA 1.

The following commands went fine:
mercury:/lib/modules/2.1.90/misc# insmod sound
mercury:/lib/modules/2.1.90/misc# insmod ad1848
mercury:/lib/modules/2.1.90/misc# insmod uart401
# Hey I was just trying to make it happy :)
# Scary thing is it actually detected something SB-like at 0x220
mercury:/lib/modules/2.1.90/misc# insmod sb io=0x220 irq=0 dma=0
mercury:/lib/modules/2.1.90/misc# insmod mad16 io=0x530 irq=10 dma=1

And then sound works great.

Upon rmmoding the mad16 driver, I got a "Trying to free free IRQ10"
message. I tried to do "cat /proc/interrupts" and got an Oops each time,
which I failed to record in any way :( I let things sit for a minute or
so, then tried cat again. It returned some greek in the entry for IRQ10 so
I looked at it with less:

CPU0
0: 188971 XT PIC timer
1: 7246 XT PIC keyboard
2: 0 XT PIC cascade
3: 8567 XT PIC serial
4: 494 XT PIC serial
8: 2 XT PIC rtc
10: 0 XT PIC <83><C4>^D<C3><C3><7>khm

11: 1 XT PIC NE2000
12: 6265 XT PIC ncr53c8xx
13: 1 XT PIC fpu
15: 2 XT PIC

Then just for kicks I tried reloading the mad16 module. (the other drivers
(sound,ad1848,uart401,sb) were still loaded) That spat out several pages
of Oops's and left every key combination except shift-pgup/pgdn dead.
Anyway, I wrote down most of the last Oops:

Page fault from irq handler: 0002
CPU: 0
EIP: 0010:[<c1d1bf80>]
EFLAGS: 00010246
eax: 00000000 ebx: c1d1bf80 ecx: c1d1bf80 edx: c1cf5060
esi: 00000000 edi: c1cf5060 ebp: c1bc66e4 esp: c07bc6f4
ds: 0018 es: 0018 ss: 0018
Process (pid: 0, process nr:70, stackpage: c07bd000)
Stack: 00000000 002e343b c0143797 c1d1bf80 00000008 000001e8 000002f4
c1bc66e4 00000002 c1d39c04 c0143aa3 c1bc66e4 c1d1bf80 00000001 00000001
00000400 000002f4 c07bc7b4 c1bc66e4 0000000d 00000001 000002f4 c07bc764
00000400
[At this point my hand was aching too much to write down the call trace :)]
Code: 00 00 00 00 47 cd 2a 00 00 04 00 00 05 08 05 08 8e 9a 55 00
Aiee, killing interrupt handler

I can't find anything near c07bc764 or c1d1bf80 in my System.map - it tops
out at c02125d4.

P.S: You guys rock. Dave Miller, I'd like to thank you for your very quick
response to my earlier message. 2.1.90 is looking very very nice.

Also, are there any plans for a piece of documentation that lists all
module options and what they do, kind of like the BootPrompt HOWTO? Or am
I just blind haven't seen it? If not, I'd be willing to help maintain such
a document. It'd be very very useful for at least me. (Although it looks
like it would have kept me from discovering the proceeding :)

Config follows:
CONFIG_M586=y
CONFIG_MAX_MEMSIZE=1024
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_OLD_PROC=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PNP=y
CONFIG_PNP_PARPORT=m
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=m
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=y
CONFIG_MD_STRIPED=y
CONFIG_MD_MIRRORING=y
CONFIG_MD_RAID5=y
CONFIG_MD_BOOT=y
CONFIG_PARIDE_PARPORT=m
CONFIG_PACKET=y
CONFIG_NETLINK=y
CONFIG_RTNETLINK=y
CONFIG_NETLINK_DEV=y
CONFIG_FIREWALL=y
CONFIG_NET_ALIAS=y
CONFIG_FILTER=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_FIREWALL=y
CONFIG_IP_FIREWALL_NETLINK=y
CONFIG_NETLINK_DEV=y
CONFIG_IP_FIREWALL_VERBOSE=y
CONFIG_IP_TRANSPARENT_PROXY=y
CONFIG_IP_MASQUERADE=y
CONFIG_IP_MASQUERADE_ICMP=y
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_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_NCR53C8XX=y
CONFIG_SCSI_NCR53C8XX_NVRAM_DETECT=y
CONFIG_SCSI_NCR53C8XX_TAGGED_QUEUE=y
CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
CONFIG_SCSI_NCR53C8XX_SYNC=5
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_NET_ETHERNET=y
CONFIG_NET_ISA=y
CONFIG_NE2000=m
CONFIG_PPP=m
CONFIG_CDROM=m
CONFIG_QUOTA=y
CONFIG_MINIX_FS=m
CONFIG_EXT2_FS=y
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_FAT_FS=m
CONFIG_VFAT_FS=m
CONFIG_PROC_FS=y
CONFIG_NFS_FS=m
CONFIG_SUNRPC=m
CONFIG_LOCKD=m
CONFIG_CODA_FS=m
CONFIG_SMB_FS=m
CONFIG_SMB_WIN95=y
CONFIG_NTFS_FS=m
CONFIG_NLS=y
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_ISO8859_1=m
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_PRINTER=m
CONFIG_PRINTER_READBACK=y
CONFIG_APM=y
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y
CONFIG_APM_POWER_OFF=y
CONFIG_RTC=y
CONFIG_NVRAM=m
CONFIG_JOYSTICK=m
CONFIG_SOUND=m
CONFIG_ADLIB=m
CONFIG_MAD16=m
CONFIG_YM3812=m
CONFIG_PROFILE=y
CONFIG_PROFILE_SHIFT=2
CONFIG_VGA_CONSOLE=y

--
Robert Woodcock - rcw@oz.net
All I want is a warm bed and a kind word and unlimited power.
		-- Ashleigh Brilliant

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu