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: Always Steps to Reproduce: 1.Install Genius sound card and PS/2 mouse in a system 2.Install RedHat 7.1 3. Additional info:
Could you paste or attach the output of "cat /proc/isapnp" ?
Created attachment 18851 [details] Output of 'cat /proc/isapnp' after bootup
What's the content of /proc/interrupts when the sound card is like this?
Here is the output of cat /proc/interrupts right after bootup: CPU0 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 /etc/modules.conf!
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?
Created attachment 18990 [details] Output of '/sbin/lspci -v' immediately after bootup
OK, IRQ 7 appears free, so in theory the kernel should be using that before IRQ 12.
"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?
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.
Well but if the user hard forces another irq, then sndconfig should obey there
This is isapnp; since the card needs activated at each boot, there are no user settings involved.
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.
ok "fixed in errata" it is... ;)