[Prism54-devel] [Bug 60] 2.6 modprobe oops: request_irq/interrupt race

bugzilla-daemon@mcgrof.com bugzilla-daemon@mcgrof.com
Thu, 26 Feb 2004 09:14:33 +0000 (UTC)


http://prism54.org/cgi-bin/bugzilla/show_bug.cgi?id=60





------- Additional Comments From vda@port.imtp.ilyichevsk.odessa.ua  2004-02-26 09:14 -------
A bit of correction: fb resolution doesn't really contribute.
As should be expected for races, it turned out that oops
does not trigger reliably. while(1) {rmmod;modprobe;} loop
does not seem to trigger it, only first-boot modprobe,
and I have to reboot many times in a row to make it happen.
After that, it typically oopses several reboots in a row.

With this patch it does not oops but printks endless stream
of "Spurious IRQ 10, ignored".

diff -urN prism54.2.more_oids/islpci_dev.c prism54/islpci_dev.c
--- prism54.2.more_oids/islpci_dev.c    Thu Feb 26 10:59:53 2004
+++ prism54/islpci_dev.c        Thu Feb 26 11:02:49 2004
@@ -73,6 +73,13 @@
                return IRQ_NONE;
        }

+       // maybe move it lower?
+       if(islpci_get_state(priv) <= PRV_STATE_PREBOOT) {
+               /* vda: I've seen spurious intrs at request_irq time */
+               printk("Spurious IRQ %d, ignored\n", irq);
+               return IRQ_HANDLED; // or IRQ_NONE??
+       }
+
        if (islpci_get_state(priv) != PRV_STATE_SLEEP)
                powerstate = ISL38XX_PSM_ACTIVE_STATE;





------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.