Re: [PATCH] mtd: set mtd partition panic write flag

From: Kamal Dasu
Date: Mon Nov 11 2019 - 15:36:12 EST


Richard,

On Tue, Nov 5, 2019 at 6:03 PM Richard Weinberger <richard@xxxxxx> wrote:
>
> ----- UrsprÃngliche Mail -----
> > Von: "Miquel Raynal" <miquel.raynal@xxxxxxxxxxx>
> > An: "Kamal Dasu" <kdasu.kdev@xxxxxxxxx>
> > CC: "linux-mtd" <linux-mtd@xxxxxxxxxxxxxxxxxxx>, "bcm-kernel-feedback-list" <bcm-kernel-feedback-list@xxxxxxxxxxxx>,
> > "linux-kernel" <linux-kernel@xxxxxxxxxxxxxxx>, "David Woodhouse" <dwmw2@xxxxxxxxxxxxx>, "Brian Norris"
> > <computersforpeace@xxxxxxxxx>, "Marek Vasut" <marek.vasut@xxxxxxxxx>, "richard" <richard@xxxxxx>, "Vignesh Raghavendra"
> > <vigneshr@xxxxxx>
> > Gesendet: Dienstag, 5. November 2019 20:03:44
> > Betreff: Re: [PATCH] mtd: set mtd partition panic write flag
>
> > Hi Kamal,
> >
> > Richard, something to look into below :)
>
> I'm still recovering from a bad cold. So my brain is not fully working ;)

Thanks for reviewing this. Hope you are feeling better now.

>
> > Kamal Dasu <kdasu.kdev@xxxxxxxxx> wrote on Mon, 21 Oct 2019 15:32:52
> > -0400:
> >
> >> Check mtd panic write flag and set the mtd partition panic
> >> write flag so that low level drivers can use it to take
> >> required action to ensure oops data gets written to assigned
> >> mtd partition.
> >
> > I feel there is something wrong with the current implementation
> > regarding partitions but I am not sure this is the right fix. Is this
> > something you detected with some kind of static checker or did you
> > actually experience an issue?
> >
> > In the commit log you say "check mtd (I suppose you mean the
> > master) panic write flag and set the mtd partition panic write flag"
> > which makes sense, but in reality my understanding is that you do the
> > opposite: you check mtd->oops_panic_write which is the partitions'
> > structure, and set part->parent->oops_panic_write which is the master's
> > flag.
>
> IIUC the problem happens when you run mtdoops on a mtd partition.
> The the flag is only set for the partition instead for the master.
>
> So the right fix would be setting the parent's oops_panic_write in

How do I get access to the parts parent in the core ?. Maybe I am
missing something.

> mtd_panic_write().
> Then we don't have to touch mtdpart.c
>
> Thanks,
> //richard