mmc: block: fix a bug of error handling in MMC driver
authorKOBAYASHI Yoshitake <yoshitake.kobayashi@toshiba.co.jp>
Sat, 6 Jul 2013 22:35:45 +0000 (07:35 +0900)
committerChris Ball <cjb@laptop.org>
Sun, 25 Aug 2013 02:13:22 +0000 (22:13 -0400)
commitc8760069627ad3b0dbbea170f0c4c58b16e18d3d
treeab3a9514d1ce33fd66bef9dad85b6a82e61217f9
parent2af502ca640969e335c02be3834b86c5b58be591
mmc: block: fix a bug of error handling in MMC driver

Current MMC driver doesn't handle generic error (bit19 of device
status) in write sequence. As a result, write data gets lost when
generic error occurs. For example, a generic error when updating a
filesystem management information causes a loss of write data and
corrupts the filesystem. In the worst case, the system will never
boot.

This patch includes the following functionality:
  1. To enable error checking for the response of CMD12 and CMD13
     in write command sequence
  2. To retry write sequence when a generic error occurs

Messages are added for v2 to show what occurs.

Signed-off-by: KOBAYASHI Yoshitake <yoshitake.kobayashi@toshiba.co.jp>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/card/block.c