Messages in this thread | | | Date | Fri, 3 Dec 2021 14:39:58 +0100 | From | Miquel Raynal <> | Subject | Re: [PATCH v5 3/4] mtd: core: protect access to MTD devices while in suspend |
| |
Hello,
> > Fine by me, lets drop this series.
FYI I've dropped the entire series from mtd/next. I'm waiting for the fix discussed below (without abusing the chip mutex ;-) ).
Cheers, Miquèl
> > We have +10.000 devices that runs with this patch: > > > > diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c > > index 1f0d542d5923..58d48c3070fa 100644 > > --- a/drivers/mtd/nand/raw/nand_base.c > > +++ b/drivers/mtd/nand/raw/nand_base.c > > @@ -4337,7 +4337,6 @@ static int nand_suspend(struct mtd_info *mtd) > > ret = chip->ops.suspend(chip); > > if (!ret) > > chip->suspended = 1; > > - mutex_unlock(&chip->lock); > > > > return ret; > > } > > @@ -4350,7 +4349,6 @@ static void nand_resume(struct mtd_info *mtd) > > { > > struct nand_chip *chip = mtd_to_nand(mtd); > > > > - mutex_lock(&chip->lock); > > if (chip->suspended) { > > if (chip->ops.resume) > > chip->ops.resume(chip); > > > > But it's abusing the chip lock... Use a wait queue as we did at the MTD > level, and make nand_get_device() wait on this wait queue when the > device is suspended. > > ______________________________________________________ > Linux MTD discussion mailing list > http://lists.infradead.org/mailman/listinfo/linux-mtd/
| |