From: Tony Lindgren Date: Thu, 11 Aug 2005 14:02:01 +0000 (-0700) Subject: ARM: OMAP: Fix writes on some MMC cards X-Git-Tag: v2.6.13-omap1~28^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3f401908c5761e7c077f6c735abdcac037c281d9;p=pandora-kernel.git ARM: OMAP: Fix writes on some MMC cards Some MMC cards don't set the R1_READY_FOR_DATA bit if EOFB interrupt comes first. In this case we need to mask R1_READY_FOR_DATA to avoid polling card status forever. --- diff --git a/drivers/mmc/mmc_block.c b/drivers/mmc/mmc_block.c index 808f9132011d..09efec1790c7 100644 --- a/drivers/mmc/mmc_block.c +++ b/drivers/mmc/mmc_block.c @@ -270,6 +270,10 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) goto cmd_fail; } + /* No need to check card status after a read */ + if (rq_data_dir(req) == READ) + goto card_ready; + do { int err; @@ -299,6 +303,8 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) goto cmd_err; #endif + card_ready: + /* * A block was successfully transferred. */ Reading git-diff-tree failed