OSDN Git Service

hw/sd/sdcard: Reset both start/end addresses on error
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>
Sun, 13 Sep 2020 11:18:31 +0000 (13:18 +0200)
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>
Wed, 21 Oct 2020 11:19:02 +0000 (13:19 +0200)
commitc8c8b3f1c179e1b8d21c2e636dc893ebfc522874
tree1dd4818d4c050bc38587d339f293f399ef2e2a86
parent7dae0a1dd102ea5e58869a3082c61bfcadf29347
hw/sd/sdcard: Reset both start/end addresses on error

From the Spec "4.3.5 Erase":

  The host should adhere to the following command
  sequence: ERASE_WR_BLK_START, ERASE_WR_BLK_END and
  ERASE (CMD38).

  If an erase (CMD38) or address setting (CMD32, 33)
  command is received out of sequence, the card shall
  set the ERASE_SEQ_ERROR bit in the status register
  and reset the whole sequence.

Reset both addresses if the ERASE command occured
out of sequence (one of the start/end address is
not set).

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20201015063824.212980-5-f4bug@amsat.org>
hw/sd/sd.c