> Hi Avri, > > On 2024-06-02 14:59, Avri Altman wrote: > >> Hello Avri, > >> > >> On 2024-06-02 07:26, Avri Altman wrote: > >> >> On 2024-05-23 15:20, linux-mmc@xxxxxxxxx wrote: > >> >> > From: Daniel Kucera <linux-mmc@xxxxxxxxx> > >> >> > > >> >> > Locked card will not reply to SEND_SCR or SD_STATUS commands so > >> >> > it was failing to initialize previously. When skipped, the card > >> >> > will get initialized and CMD42 can be sent using ioctl to unlock > >> >> > the card or remove password protection. > >> >> > Until unlocked, all read/write calls will timeout. > >> >> > > >> >> > Signed-off-by: Daniel Kucera <linux-mmc@xxxxxxxxx> > >> >> > --- > >> >> > drivers/mmc/core/sd.c | 13 ++++++++++++- > >> >> > 1 file changed, 12 insertions(+), 1 deletion(-) > >> >> > > >> >> > diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c index > >> >> > 1c8148cdd..ae821df7d 100644 > >> >> > --- a/drivers/mmc/core/sd.c > >> >> > +++ b/drivers/mmc/core/sd.c > >> >> > @@ -928,8 +928,19 @@ int mmc_sd_setup_card(struct mmc_host > >> >> > *host, struct mmc_card *card, > >> >> > bool reinit) > >> >> > { > >> >> > int err; > >> >> > + u32 card_status; > >> >> > > >> >> > - if (!reinit) { > >> >> > + err = mmc_send_status(card, &card_status); > >> >> > + if (err){ > >> >> > + pr_err("%s: unable to get card status\n", mmc_hostname(host)); > >> >> > + return err; > >> >> > + } > >> >> > + > >> >> > + if (card_status & R1_CARD_IS_LOCKED){ > >> >> > + pr_warn("%s: card is locked\n", mmc_hostname(host)); > >> >> > + } > >> >> > + > >> >> > + if (!reinit && !(card_status & R1_CARD_IS_LOCKED)) { > >> >> > /* > >> >> > * Fetch SCR from card. > >> >> > */ > >> >> > >> >> Any feedback please? > >> > You didn't address my comment from your v1 - Since eMMC & SD shares > >> > the very same locking feature (non-COP SD that > >> > is) - > >> > You should at least explain in your commit log why it isn't an > >> > issue for eMMC, If indeed it is not. > >> > >> I'm sorry, I didn't get what you mean by that. I am touching only the > >> sd.c code, not the mmc.c (where eMMC is initialized, am I correct?). > >> How should I address this? > >> Should I test with eMMC to SD adaptor? I don't have any currently. > > Theoretically, looking in the eMMC spec, a locked eMMC device > > shouldn't have any issue returning from power down. > > The only flow that is affected is that its not allowed to switch to > > hs200 in a locked state until unlocked - not to say that it is a > > problem. > > If you can't verify that via code review, can you test your mmc-utils > > code on an eMMC platform? > > I've just tested with an eMMC to SD adapter in my reader and it is detected > correctly: > > [1463181.072006] mmc1: unexpected status 0x2000900 after switch > [1463181.074560] mmc1: unexpected status 0x2000900 after switch > [1463181.077038] mmc1: unexpected status 0x2000900 after switch > [1463181.079709] mmc1: unexpected status 0x2000900 after switch > [1463181.081972] mmc1: unexpected status 0x2000900 after switch > [1463181.083412] mmc1: unexpected status 0x2000900 after switch > [1463181.084831] mmc1: unexpected status 0x2000900 after switch > [1463181.084836] mmc1: new high speed MMC card at address 0001 > [1463181.085195] mmcblk1: mmc1:0001 004GA0 2.59 GiB > > Do I need to do some changes to the patch? Just add one more line to your commit log saying that no similar attention is needed for eMMC because.... Thanks, Avri > > > > > Thanks, > > Avri > >> > >> I am sorry if these are stupid questions, I am a layman. > >> > >> > > >> > Thanks, > >> > Avri > >> > > >> >> > >> >> D. > >> > >> Thank you. > >> Daniel. > > Thank you, > Daniel