On Wed, Feb 24, 2016 at 06:39:46PM +0100, Sean Nyekj?r wrote: > CC'ing RT I'm assuming this is with the other patch killing off IRQF_ONESHOT? > On 2016-02-24 16:31, Sean Nyekjær wrote: > >Hi > > > >I'm using the sc16is750 on an imx6d platform with RT patches applied. > > > >I have observed that sometimes the driver locks the whole system as is > >loops inside the sc16is7xx_port_irq. > >I have applied some debug and seen we are looping upto 130000 times in the > >while(1) loop. > >The SC16IS7XX_IIR_REG does signal the SC16IS7XX_IIR_XOFFI_SRC but the > >SC16IS7XX_IER_XOFFI_BIT is not set. Ouch. I don't quite understand how the interrupt handling in this driver is supposed to work. sc16is7xx_irq() is invoked to handle the interrupt, but it does absolutely nothing to squelch it... how does this not cause an interrupt storm? The irq core is free to unmask the interrupt when the handler return IRQ_HANDLED, and if you're dealing with level-sensitive interrupts... Josh