All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch] ide: Fix irq flags madness
@ 2011-07-23 15:51 Thomas Gleixner
  2011-08-04  8:30 ` David Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Thomas Gleixner @ 2011-07-23 15:51 UTC (permalink / raw)
  To: LKML; +Cc: David S. Miller, Yegor Yefremov, Alan Cox

[-- Attachment #1: drivers-ide-fix-irq-flags-madness.patch --]
[-- Type: text/plain, Size: 1356 bytes --]

commit ec1a123 (IDE: pass IRQ flags to the IDE core) introduced the
bogosity of passing unfiltered resource->flags to the irq_flags which
are used for request_irq. It results in random bits set (especially
IORESOURCE_IRQ which maps to IRQF_PER_CPU).

Filter the bits proper.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Yegor Yefremov <yegorslists@googlemail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
---
 drivers/ide/ide_platform.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Index: linux-2.6/drivers/ide/ide_platform.c
===================================================================
--- linux-2.6.orig/drivers/ide/ide_platform.c
+++ linux-2.6/drivers/ide/ide_platform.c
@@ -19,6 +19,7 @@
 #include <linux/module.h>
 #include <linux/ata_platform.h>
 #include <linux/platform_device.h>
+#include <linux/interrupt.h>
 #include <linux/io.h>
 
 static void __devinit plat_ide_setup_ports(struct ide_hw *hw,
@@ -95,7 +96,10 @@ static int __devinit plat_ide_probe(stru
 	plat_ide_setup_ports(&hw, base, alt_base, pdata, res_irq->start);
 	hw.dev = &pdev->dev;
 
-	d.irq_flags = res_irq->flags;
+	d.irq_flags = res_irq->flags & IRQF_TRIGGER_MASK;
+	if (res_irq->flags & IORESOURCE_IRQ_SHAREABLE)
+		d.irq_flags |= IRQF_SHARED;
+
 	if (mmio)
 		d.host_flags |= IDE_HFLAG_MMIO;
 



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [patch] ide: Fix irq flags madness
  2011-07-23 15:51 [patch] ide: Fix irq flags madness Thomas Gleixner
@ 2011-08-04  8:30 ` David Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2011-08-04  8:30 UTC (permalink / raw)
  To: tglx; +Cc: linux-kernel, yegorslists, alan

From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 23 Jul 2011 15:51:37 -0000

> commit ec1a123 (IDE: pass IRQ flags to the IDE core) introduced the
> bogosity of passing unfiltered resource->flags to the irq_flags which
> are used for request_irq. It results in random bits set (especially
> IORESOURCE_IRQ which maps to IRQF_PER_CPU).
> 
> Filter the bits proper.
> 
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Applied, but please post IDE patches to linux-ide in the future.

Thanks.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-08-04  8:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-23 15:51 [patch] ide: Fix irq flags madness Thomas Gleixner
2011-08-04  8:30 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.