On Fri, 1 Dec 2006, Franck Bui-Huu wrote: > diff --git a/arch/mips/dec/ioasic-irq.c b/arch/mips/dec/ioasic-irq.c > index 269b22b..c5248a1 100644 > --- a/arch/mips/dec/ioasic-irq.c > +++ b/arch/mips/dec/ioasic-irq.c > @@ -55,19 +55,12 @@ static inline void ack_ioasic_irq(unsign > fast_iob(); > } > > -static inline void end_ioasic_irq(unsigned int irq) > -{ > - if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) > - unmask_ioasic_irq(irq); > -} > - > static struct irq_chip ioasic_irq_type = { > .typename = "IO-ASIC", > .ack = ack_ioasic_irq, > .mask = mask_ioasic_irq, > .mask_ack = ack_ioasic_irq, > .unmask = unmask_ioasic_irq, > - .end = end_ioasic_irq, > }; > > > @@ -77,20 +70,12 @@ static struct irq_chip ioasic_irq_type = > > #define ack_ioasic_dma_irq ack_ioasic_irq > > -static inline void end_ioasic_dma_irq(unsigned int irq) > -{ > - clear_ioasic_irq(irq); > - fast_iob(); > - end_ioasic_irq(irq); > -} > - > static struct irq_chip ioasic_dma_irq_type = { > .typename = "IO-ASIC-DMA", > .ack = ack_ioasic_dma_irq, > .mask = mask_ioasic_dma_irq, > .mask_ack = ack_ioasic_dma_irq, > .unmask = unmask_ioasic_dma_irq, > - .end = end_ioasic_dma_irq, > }; > > You have removed a call to clear_ioasic_irq() -- I/O ASIC DMA engines will cease to work as a result. Maciej