[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081028224137.GA25357@www.tglx.de>
Date: Tue, 28 Oct 2008 23:41:37 +0100
From: Manuel Traut <manut@...utronix.de>
To: hjk@...utronix.de
Cc: b.spranger@...utronix.de, gregkh@...e.de,
linux-kernel@...r.kernel.org
Subject: UIO: don't check irq_enabled flag in uio_cif irq handler
Below patch ignores INT1_ENABLED flag in the uio_cif irq handler.
On a Hilscher DeviceNet Slave card, the INT_ENABLE flag is (probably) reseted
by the firmware. Without this patch, every interrupt produced by this card is
dropped.
This patch is tested and works with a DeviceNet Slave and a Profibus Slave card.
Signed-off-by: Manuel Traut <manut@...utronix.de>
--- linux-git/drivers/uio/uio_cif.c 2008-10-28 23:42:18.000000000 +0100
+++ uio/drivers/uio/uio_cif.c 2008-10-28 23:41:43.000000000 +0100
@@ -18,7 +18,6 @@
#define PLX9030_INTCSR 0x4C
#define INTSCR_INT1_ENABLE 0x01
#define INTSCR_INT1_STATUS 0x04
-#define INT1_ENABLED_AND_ACTIVE (INTSCR_INT1_ENABLE | INTSCR_INT1_STATUS)
#define PCI_SUBVENDOR_ID_PEP 0x1518
#define CIF_SUBDEVICE_PROFIBUS 0x430
@@ -30,8 +29,8 @@
void __iomem *plx_intscr = dev_info->mem[0].internal_addr
+ PLX9030_INTCSR;
- if ((ioread8(plx_intscr) & INT1_ENABLED_AND_ACTIVE)
- != INT1_ENABLED_AND_ACTIVE)
+ if ((ioread8(plx_intscr) & INT1_STATUS)
+ != INT1_STATUS)
return IRQ_NONE;
/* Disable interrupt */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists