RE: [PATCH v3] mmc: core: allow detection of locked cards

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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.

Thanks,
Avri

> 
> D.






[Index of Archives]     [Linux Memonry Technology]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux