...and to round off a theory of why the U300 and Ux500 is missing interrupts: Maybe the IP-block does not really handle the case of a block interrupt not being ACK:ed before the next block is ready. So it will just fire another "1" flag, which gets ACK:ed at the end of the interrupt handler with the IRQ currently being processed. So the interrupt handler will unknowingly consume interrupts for other blocks. The right way would be to either: - Queue block ACKs so that they are ACK:ed one at the time if the hardware reads ahead. (Which requires a quite deep queue on large writes.) - Hold back further block reading from the card until the IRQ has been ACK:ed. (Which is not good for speed.) So to avoid both it is indeed a logical thing to remove the block interrupt altogether and just wait for the last one to avoid trouble, it's just not documented and HW-implemented as such. Now I'll send that patch. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html