When it doesn't work, I see something like the following in
/proc/interrupts:

 34:          0          0          0          0     GICv2 158 Level     mmc0
 35:     100001          0          0          0     GICv2 158 Level     mmc1

which doesn't make sense, since this is a shared interrupt and should map
to the same interrupt number.

On a working system the following is seen:

 34:      18707          0          0          0     GICv2 158 Level
  mmc1, mmc0

It looks like this might be caused by some sort of race among mapping
shared IRQs, disabling of "nobody cared" interrupt lines, and the mmc
driver/core probing the attached card.

Disabling async probing of the sdhci-iproc driver and marking the SD
card as non-removable using an overlay combined seem to decrease the
chances of hitting this, but isn't guaranteed to not hit it.

Reply via email to