MMC: CRC Errors with 2GB cards

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 Hi, 

 I am seeing a lot of CRC errors happening with CMD25 on a couple 
 of Transcend 2GB cards (specifiation version 1.1).  However, if 
 I apply the following patch, I see no errors being reported


--- linux-2.6.22/drivers/mmc/card/block.c	2007-09-27 14:59:44.000000000 +0530
+++ linux-tao/drivers/mmc/card/block.c	2007-10-19 20:53:52.000000000 +0530
@@ -298,6 +298,7 @@
 		}
 
 		if (rq_data_dir(req) != READ) {
+			/* Wait for the card to to be in transfer state*/
 			do {
 				int err;
 
@@ -310,8 +311,8 @@
 					       req->rq_disk->disk_name, err);
 					goto cmd_err;
 				}
-			} while (!(cmd.resp[0] & R1_READY_FOR_DATA));
-
+			} while (!(R1_CURRENT_STATE(cmd.resp[0]) == 4)); 
+			
 #if 0
 			if (cmd.resp[0] & ~0x00000900)
 				printk(KERN_ERR "%s: status = %08x\n",


 I noticed that at times the card is not actually in transfer 
 state when it recieves the second consecutive 
 MULTIPLE_BLOCK_WRITE cmd.  As per the simplified specification 
 available, all class 4 commands including CMD25 can be issued 
 only in tra state, though its also specified that READY_FOR_DATA 
 indicates whether the card can accept new data.

 I am just wondering if I have set of broken cards.  Any pointers 
 in this regard?

 Thanks and Regards,
 Roopesh.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux