Ignore more MITE errors, and don't call disable_irq() when something
authorDavid Schleef <ds@schleef.org>
Fri, 7 Jun 2002 00:02:40 +0000 (00:02 +0000)
committerDavid Schleef <ds@schleef.org>
Fri, 7 Jun 2002 00:02:40 +0000 (00:02 +0000)
goes wrong.  It's not nice to our neighbors.

comedi/drivers/ni_mio_common.c

index 73135df5a5a2c3f7b8c7c882b4e2cad9dc94aaea..77c93a7db1915dd8bbd608884ee3b00d3efc2bed 100644 (file)
@@ -466,13 +466,13 @@ static void handle_a_interrupt(comedi_device *dev,unsigned short status,
                        CHAN_OFFSET(0));
        }
 
-       if(m_status & ~(CHSR_INT | CHSR_LINKC | CHSR_DONE | CHSR_MRDY | CHSR_DRDY | CHSR_DRQ1 | CHSR_DRQ0 | CHSR_ERROR | CHSR_SABORT)){
-               printk("unknown mite interrupt, disabling IRQ (m_status=%08x)\n", m_status);
+       if(m_status & ~(CHSR_INT | CHSR_LINKC | CHSR_DONE | CHSR_MRDY | CHSR_DRDY | CHSR_DRQ1 | CHSR_DRQ0 | CHSR_ERROR | CHSR_SABORT | CHSR_XFERR | CHSR_LxERR_mask)){
+               printk("unknown mite interrupt, ack! (m_status=%08x)\n", m_status);
                //mite_print_chsr(m_status);
                mite_dma_disarm(devpriv->mite);
                writel(CHOR_DMARESET, devpriv->mite->mite_io_addr + MITE_CHOR +
                        CHAN_OFFSET(0));
-               disable_irq(dev->irq);
+               //disable_irq(dev->irq);
        }
 #endif