Hi,<br /><br />Upgrading to the latest 2.6.19-rc5 kernel patched with at91 bits from <br />Andrew, I discovered a issue on the SD/MMC interface.<br /><br />I tried with a SD card (both 1 and 4 wire).<br />When running a fdisk write command the at91_mci.c driver hangs at <br />"calling ioctl to re read partition table". I saw that the mmc subsystem <br />is trying to send a "WRITE_MULTIPLE_BLOCK" command (CMD25), which is <br />not used yet in that driver. I attached the mmc debug output.<br /><br />Adding this workaround the SD card behaves much "better" (no multiple <br />writes)...<br /><br />Index: drivers/mmc/mmc_block.c<br />===================================================================<br />--- drivers/mmc/mmc_block.c (revision 330)<br />+++ drivers/mmc/mmc_block.c (working copy)<br />@@ -255,8 +255,7 @@<br /> * successfully written sectors.<br /> */<br /> if (rq_data_dir(req) != READ &&<br />- !(card->host->caps & MMC_CAP_MULTIWRITE) &&<br />- !mmc_card_sd(card))<br />+ !(card->host->caps & MMC_CAP_MULTIWRITE))<br /> brq.data.blocks = 1;<br /><br /> if (brq.data.blocks > 1) {<br /><br /><br />I know this is not a proper solution but do you have any advice on how <br />to solve this problem ?<br /><br />Cheers,<br />-- <br />Nicolas FERRE
|