[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAPDyKFrdoCWy5+xnFbMesBwACyK4zbPSHEUPA4YMAmO1ys3Sxg@mail.gmail.com>
Date: Fri, 12 Feb 2021 13:20:03 +0100
From: Ulf Hansson <ulf.hansson@...aro.org>
To: Yann Gautier <yann.gautier@...s.st.com>
Cc: Russell King <linux@...linux.org.uk>,
Linus Walleij <linus.walleij@...aro.org>,
ludovic.barre@...s.st.com, Adrian Hunter <adrian.hunter@...el.com>,
Marek VaĊĦut <marex@...x.de>,
"linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2] mmc: mmc_test: use erase_arg for mmc_erase command
On Tue, 9 Feb 2021 at 15:52, <yann.gautier@...s.st.com> wrote:
>
> From: Yann Gautier <yann.gautier@...s.st.com>
>
> 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."
>
> On STM32MP157C-EV1 board, embedding a THGBMDG5D1LBAIL eMMC, using
> MMC_ERASE command with MMC_SECURE_ERASE_ARG may stuck the STM32 SDMMC IP,
> if test 37 or test 38 are launched just after a write test, e.g. test 36.
> Using the default MMC_ERASE argument from framework with erase_arg,
> which default in our case to MMC_DISCARD_ARG does no more trig the
> issue.
>
> [1] commit 01904ff77676 ("mmc: core: Calculate the discard arg only once")
>
> Signed-off-by: Yann Gautier <yann.gautier@...s.st.com>
Applied for next, and by adding Adrian's ack from the previous version, thanks!
Kind regards
Uffe
> ---
>
> Changes in v2:
> - Drop patch 1 from the previous series
> - Update comment
>
> 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);
> --
> 2.17.1
>
Powered by blists - more mailing lists