So SD card. Cute little thingy while gets really evil when you could not mount them correctly on you device. I was originally working on an error called "mmc0: error -110 whilst initialising SD card". Almost spent two weeks on it, separated mmc modules from the kernel, have tried all kinds of patches but no good. Yesterday, my supervisor changed one of the boot arguments and suddenly the error was gone. After hundreds of power cycling the device, we came to an conclusion that the system is now stable. The reason that the error was gone might lie in the fact that the U-Boot is initializing the SD card instead of kernel itself. So I am wondering which one will be the good practice, to let U-Boot handle the SD card which eliminates the bug, or to just toss the ball to kernel which has mmc modules to mount the card. The device is using Linux-18.104.22.168 (pretty old) and pxa 270 processor. The U-Boot is the only boot loader. The SD card is not for booting purposes (e.g booting from the SD card); it is used to store customer data. So the question is just about the best way to mount the SD card correctly for future use.