ide: Fix irq flags madness
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>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
288d5abec8
commit
89e9aad65f
|
@ -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(struct platform_device *pdev)
|
|||
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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue