On 2/5/21 7:33 AM, Adrian Hunter wrote:
On 4/02/21 2:05 pm, yann.gautier@xxxxxxxxxxx wrote:
From: Yann Gautier <yann.gautier@xxxxxxxxxxx>
Since [1], the erase argument for mmc_erase() function is saved in
erase_arg field of card structure. It is preferable to use it instead of
hard-coded MMC_SECURE_ERASE_ARG, which from eMMC 4.51 spec is not
recommended:
"6.6.16 Secure Erase
NOTE Secure Erase is included for backwards compatibility. New system
level implementations (based on v4.51 devices and beyond) should use
Erase combined with Sanitize instead of secure erase."
[1] commit 01904ff77676 ("mmc: core: Calculate the discard arg only once")
Did you experience an issue because of this? You could add that to the
commit message.
Hi Adrian,
Thanks for the review!
Yes, I've seen an issue on STM32MP157C-EV1 board.
After a write test (e.g. test 36), the tests 37 or 38, using mmc_erase
fail. With the erase argument used by default in the framework
(MMC_DISCARD_ARG), I can no more see this.
I can send a new version of the series with comment update here, and a
fixup on the first patch.
Regards,
Yann
There does not seem to be a need for secure erase, so:
Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
Signed-off-by: Yann Gautier <yann.gautier@xxxxxxxxxxx>
---
drivers/mmc/core/mmc_test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mmc/core/mmc_test.c b/drivers/mmc/core/mmc_test.c
index 39a478874ca3..63524551a13a 100644
--- a/drivers/mmc/core/mmc_test.c
+++ b/drivers/mmc/core/mmc_test.c
@@ -2110,7 +2110,7 @@ static int mmc_test_rw_multiple(struct mmc_test_card *test,
if (mmc_can_erase(test->card) &&
tdata->prepare & MMC_TEST_PREP_ERASE) {
ret = mmc_erase(test->card, dev_addr,
- size / 512, MMC_SECURE_ERASE_ARG);
+ size / 512, test->card->erase_arg);
if (ret)
ret = mmc_erase(test->card, dev_addr,
size / 512, MMC_ERASE_ARG);