[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.