Bug 41049 - Genius sound card MPU-401 is assigned IRQ 12
Genius sound card MPU-401 is assigned IRQ 12
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Arjan van de Ven
Brock Organ
Depends On:
  Show dependency treegraph
Reported: 2001-05-16 22:56 EDT by Stephen Walton
Modified: 2007-04-18 12:33 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2002-02-11 12:52:59 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Output of 'cat /proc/isapnp' after bootup (2.27 KB, text/plain)
2001-05-17 22:05 EDT, Stephen Walton
no flags Details
Output of '/sbin/lspci -v' immediately after bootup (1.98 KB, text/plain)
2001-05-18 22:49 EDT, Stephen Walton
no flags Details

  None (edit)
Description Stephen Walton 2001-05-16 22:56:55 EDT
From Bugzilla Helper:
User-Agent: Mozilla/4.76 [en] (X11; U; Linux 2.4.2-2 i586)

Description of problem:
I hope I have this sent to the right place.  I have an AMD K6-2 350 MHz
system with Genius ISAPNP sound card.  After upgrading to RedHat 7.1, the
system consistently assigns IRQ 12 to the MPU-401 on the Genius.  I booted
the system using kernel 2.2.19-6.2.1, and was able to run sndconfig 0.43
and determine that an IRQ of 9 for the main sound and 7 for the MPU 401
worked.  I edited /etc/modules.conf accordingly.  Lo and behold, when I
reboot, modules.conf is rewritten to assign IRQ 12 to the MPU 401.  Of
course, since IRQ 12 is supposed to be reserved for the PS/2 mouse, this
means the mouse doesn't work either.  I can get the mouse to work using
'rmmod cs4232' followed by 'insmod  io=0x534 irq=9 dma=1 dma2=0 mpuio=0x330
mpuirq=7'.  This last I just clipped out of my modules.conf file, but I
know it will get changed on the next boot.

What gremlin has gotten into my system?

How reproducible:

Steps to Reproduce:
1.Install Genius sound card and PS/2 mouse in a system
2.Install RedHat 7.1

Additional info:
Comment 1 Arjan van de Ven 2001-05-17 04:26:24 EDT
Could you paste or attach the output of "cat /proc/isapnp" ?
Comment 2 Stephen Walton 2001-05-17 22:05:32 EDT
Created attachment 18851 [details]
Output of 'cat /proc/isapnp' after bootup
Comment 3 Bill Nottingham 2001-05-17 22:26:19 EDT
What's the content of /proc/interrupts when the sound card is like this?
Comment 4 Stephen Walton 2001-05-17 23:59:15 EDT
Here is the output of cat /proc/interrupts right after bootup:

  0:      10043          XT-PIC  timer
  1:        111          XT-PIC  keyboard
  2:          0          XT-PIC  cascade
  4:          1          XT-PIC  serial
  5:         18          XT-PIC  eth0
  8:          1          XT-PIC  rtc
  9:          1          XT-PIC  Crystal audio controller
 10:          0          XT-PIC  usb-uhci
 12:          0          XT-PIC  MPU-401 UART
 14:       6217          XT-PIC  ide0
 15:          2          XT-PIC  ide1
NMI:          0 
ERR:          0

Since my last writing, I even tried lying to sndconfig:  I told it I couldn't
hear the sound and manually set the mpuirq to 7.  It still put mpuirq=12 in
Comment 5 Bill Nottingham 2001-05-18 00:15:52 EDT
sndconfig uses what the card is set to via the kernel's isapnp.

However, the kernel really shouldn't have used IRQ 12 here, especially

since 7 & 11 were still (apparently) available. If you do 'lspci -v', are

any PCI devices on IRQ 7 or IRQ 11?
Comment 6 Stephen Walton 2001-05-18 22:49:51 EDT
Created attachment 18990 [details]
Output of '/sbin/lspci -v' immediately after bootup
Comment 7 Bill Nottingham 2001-05-24 18:03:16 EDT
OK, IRQ 7 appears free, so in theory the kernel should be using that
before IRQ 12.
Comment 8 Stephen Walton 2001-05-31 14:45:44 EDT
"Should" is different from "is", of course.  And, why is it that if I 
edit /etc/modules.conf to force IRQ 7, I find it has been overwritten with a 
version which uses IRQ 12 again at the next boot?
Comment 9 Bill Nottingham 2002-01-23 22:41:30 EST
It gets overwritten because sndconfig tells the kernel's isapnp code to activate
the card at each boot, and then reads the settings the kernel chose. The kernel
chose IRQ 12 in this case.
Comment 10 Arjan van de Ven 2002-02-11 12:31:22 EST
Well but if the user hard forces another irq, then sndconfig should obey there
Comment 11 Bill Nottingham 2002-02-11 12:47:42 EST
This is isapnp; since the card needs activated at each boot, there are no user
settings involved.
Comment 12 Stephen Walton 2002-02-11 12:52:54 EST
Then perhaps the real problem is isapnp:  the difficulty has always been that it
assigned an IRQ to the card which is already in use.

Having said all that, the problem seems to have disappeared now that I'm running
kernel 2.4.9-21.
Comment 13 Arjan van de Ven 2002-02-11 12:56:03 EST
ok "fixed in errata" it is... ;)

Note You need to log in before you can comment on or make changes to this bug.