Re: [PATCH net 1/2] net: ethernet: oa_tc6: Interrupt is active low, level triggered.
From: Andrew Lunn
Date: Wed May 20 2026 - 11:36:31 EST
On Wed, May 20, 2026 at 06:16:21PM +0300, Ciprian Regus wrote:
> > ret = devm_request_irq(&tc6->spi->dev, tc6->spi->irq, oa_tc6_macphy_isr,
> >- IRQF_TRIGGER_FALLING, dev_name(&tc6->spi->dev),
> >+ IRQF_TRIGGER_LOW, dev_name(&tc6->spi->dev),
> > tc6);
>
> oa_tc6_macphy_isr() doesn't clear the interrupt condition
Since this is an SPI device, there is no way it can clear the
condition, that needs a blocking operation.
> devm_request_threaded_irq(..., IRQF_TRIGGER_LOW | IRQF_ONESHOT, ...)
>
> (together with some rework to call oa_tc6_try_spi_transfer() from the
> threaded irq part).
Threaded makes sense. Not so sure about ONESHOT. We need it to fire
again when the thread handler exists and the condition is still true.
Andrew