> > + complete(&smbus->irq_completion); > > I only realized just now that you also want to disable the interrupt > right here by writing to IMASK. This is a level sensitive interrupt at > AIC level so the moment this handler returns it will fire again until > you reach the write above after the completion wait a bit later. This seems like a valid request. Any chance for a v4? We are so close to being good here...