On Thu, Jul 18, 2019 at 07:53:43PM +0200, Stefan Wahren wrote: > Am 18.07.19 um 14:42 schrieb Mark Brown: > > On Wed, Jul 17, 2019 at 11:16:01PM +0200, Stefan Wahren wrote: > >> + /* check if we got interrupt enabled */ > >> + if (!(bcm2835_rd(bs, BCM2835_SPI_CS) & BCM2835_SPI_CS_INTR)) > >> + return IRQ_NONE; > > Is that checking if the interrupt is enabled or if it is asserted? > the BCM2835 doesn't provide a SPI register, which shows that the > interrupt has been asserted. > So i think, Martin tried to adapt the workaround from spi-bcm2835-aux > which has the same problem. OK, I don't know what that workaround was or exactly what this is checking but if it's just checking if the interrupt was enabled then there's going to be cases where this gets called while interrupts are enabled but due to another device asserting the interrupt. If the driver can cope with that and this is just an optimization then fine but if it's relying on this there's an issue.