From: Frank Mori Hess Date: Mon, 13 Jan 2003 16:49:13 +0000 (+0000) Subject: trying to fix apparent failure to reset interrupt X-Git-Tag: r0_7_67x~126 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=25d903fb4c416fcced46ff737b4e4e7cdaf428bc;p=comedi.git trying to fix apparent failure to reset interrupt --- diff --git a/comedi/drivers/cb_pcidas.c b/comedi/drivers/cb_pcidas.c index 518a7bf5..ba65c279 100644 --- a/comedi/drivers/cb_pcidas.c +++ b/comedi/drivers/cb_pcidas.c @@ -1520,13 +1520,13 @@ static void cb_pcidas_interrupt(int irq, void *d, struct pt_regs *regs) rt_printk("mbef 0x%x\n", inl(devpriv->s5933_config + AMCC_OP_REG_MBEF)); #endif - if(INTCSR_INTR_ASSERTED & s5933_status) - { - // clear interrupt on amcc s5933 - outl(devpriv->s5933_intcsr_bits | INTCSR_INBOX_INTR_STATUS, devpriv->s5933_config + AMCC_OP_REG_INTCSR); - // make sure mailbox 4 is empty - inl(devpriv->s5933_config + AMCC_OP_REG_IMB4); - } + if( ( INTCSR_INTR_ASSERTED & s5933_status ) == 0 ) + return; + + // make sure mailbox 4 is empty + inl_p(devpriv->s5933_config + AMCC_OP_REG_IMB4); + // clear interrupt on amcc s5933 + outl(devpriv->s5933_intcsr_bits | INTCSR_INBOX_INTR_STATUS, devpriv->s5933_config + AMCC_OP_REG_INTCSR); status = inw(devpriv->control_status + INT_ADCFIFO); #ifdef CB_PCIDAS_DEBUG