Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d198f101 authored by Pierre Ossman's avatar Pierre Ossman
Browse files

mmc_block: check card state after write



Some cards have been reported to signal that they're ready prematurely.
Checking both the busy bit and card state solves the issue.

Signed-off-by: default avatarPierre Ossman <drzeus@drzeus.cx>
parent 2ffbb837
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -321,7 +321,13 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
					       req->rq_disk->disk_name, err);
					goto cmd_err;
				}
			} while (!(cmd.resp[0] & R1_READY_FOR_DATA));
				/*
				 * Some cards mishandle the status bits,
				 * so make sure to check both the busy
				 * indication and the card state.
				 */
			} while (!(cmd.resp[0] & R1_READY_FOR_DATA) ||
				(R1_CURRENT_STATE(cmd.resp[0]) == 7));

#if 0
			if (cmd.resp[0] & ~0x00000900)