mmc: mxcmmc: fix SD cards not being detected sometimes.
When a SD card is initialized some data transfers of 64 and 8 bytes are issued. It seems the DMA has some problems dealing with these kind of "short" transfers, leading sometimes to the SD card not being detected. In order to solve this problem, do not use DMA for transfer sizes lower than the sector size. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
49480cf2c2
commit
2cb535529d
1 changed files with 1 additions and 1 deletions
|
@ -240,7 +240,7 @@ static int mxcmci_setup_data(struct mxcmci_host *host, struct mmc_data *data)
|
|||
return 0;
|
||||
|
||||
for_each_sg(data->sg, sg, data->sg_len, i) {
|
||||
if (sg->offset & 3 || sg->length & 3) {
|
||||
if (sg->offset & 3 || sg->length & 3 || sg->length < 512) {
|
||||
host->do_dma = 0;
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue