MMC: CRC Errors with 2GB cards

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Roopesh
Date: Friday, October 19, 2007 - 9:17 am

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.
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
MMC: CRC Errors with 2GB cards, Roopesh, (Fri Oct 19, 9:17 am)
Re: MMC: CRC Errors with 2GB cards, Pierre Ossman, (Sat Oct 27, 5:00 am)
Re: MMC: CRC Errors with 2GB cards, Roopesh, (Mon Oct 29, 2:50 am)
Re: MMC: CRC Errors with 2GB cards, Pierre Ossman, (Wed Oct 31, 12:55 pm)
Re: MMC: CRC Errors with 2GB cards, Roopesh, (Thu Nov 1, 3:39 am)