I have a difficult problem with removable media that if inserted ( sdcard ) on initial boot-up then from that point on the /dev/mmcblk* are swapped forever. This causes multiple problems:
1) Removable mounting issues, files on the card cannot be seen
2) When an ls is done on the mount path, I see the kernel and device tree!
3) User level operations depend on the correct /dev/mmc* path, hence they fail
On initial boot we normally leave the removable media out ( sdcard ), then everything is fine after that. The sdcard is seen as removable media. Left in the problem above occurs every time.
More concerning is over-the-air kernel updates, if the customer has the card in while doing a kernel update then on the next boot this problem occurs. I'm guessing it's rebuild udev or something.
I'm assuming this problem may be in my device tree or the ordering of discovery, at the moment the associated usdhc structure is set with - removable, enable-sdio-wakeup and keep-power-in-suspend
Kernel is Yocto Krogoth 4.1.32