View Single Post
Old 04-26-09, 05:49 PM   #6
kernelOfTruth
Gentoo Linux addict
 
Join Date: Nov 2007
Location: Vienna, Austria; Germany; hello world :)
Posts: 202
Default Re: Default 2.6.29 IRQ 16/nvidia: IRQF_DISABLED is not guaranteed on shared IRQs

Quote:
Originally Posted by StringCheesian View Post
But that patch doesn't look like a fix. In fact, it looks like it's probably the patch that introduced the warning in the first place. Which is good, it exposed a preexisting problem between the kernel and the nvidia driver. But it's definitely not a fix.
argh !

sorry, I of course meant the 4th

http://zen-sources.org/content/irqfs...ed-fix-2629-rc

Code:
-----Start-Copy-------

---
kernel/irq/manage.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
--- a/kernel/irq/manage.c 2008-06-30 12:28:58.000000000 -0700
+++ b/kernel/irq/manage.c 2008-06-30 12:46:54.000000000 -0700
@@ -539,6 +539,18 @@ int request_irq(unsigned int irq, irq_ha
struct irqaction *action;
int retval;

+ /*
+ * handle_IRQ_event() always ignores IRQF_DISABLED except for
+ * the _first_ irqaction (sigh). That can cause oopsing, but
+ * the behavior is classified as "will not fix" so we need to
+ * start nudging drivers away from using that idiom.
+ */
+ if ((irqflags & (IRQF_SHARED|IRQF_DISABLED))
+ == (IRQF_SHARED|IRQF_DISABLED))
+ pr_warning("IRQ %d/%s: IRQF_DISABLED is not "
+ "guaranteed on shared IRQs\n",
+ irq, devname);
+
#ifdef CONFIG_LOCKDEP
/*
* Lockdep wants atomic interrupt handlers:

------END-------
__________________
2.6.30-rc3-zen0+ w. compcache, reiser4 + ccreg40 (lzo-compression + checksumming)
gcc version 4.4.0-pre9999 built 20090425 (prerelease) rev. 146764 (Gentoo SVN)
gcc version 4.4.0 (Gentoo Hardened 4.4.0-r1, espf-0.2.1)
Ubuntu Jaunty/9.04 x86_64 Dell XPS M1330
kernelOfTruth is offline   Reply With Quote