Hi Dinesh Please adjust your signature seems that intel.com domain is not valid
MIchael On Tue, Aug 19, 2025 at 10:23 AM Michael Nazzareno Trimarchi < mich...@amarulasolutions.com> wrote: > > > On Tue, Aug 19, 2025 at 9:16 AM <dinesh.mani...@altera.com> wrote: > >> From: Dinesh Maniyam <dinesh.mani...@intel.com> >> >> The driver currently does: >> mtd->dev->parent = cadence->dev; >> >> This works in Linux because `struct mtd_info` embeds a `struct device`, >> so `mtd->dev` is always valid and its `.parent` can be set. >> >> In U-Boot, however, `mtd->dev` is only a pointer to a `struct udevice`. >> Dereferencing it before assignment is invalid, which breaks the device >> hierarchy. As a result, consumers relying on `mtd->dev` (e.g. partition >> parser, reset and re-init paths) operate on a dangling pointer. This >> leads to failures during warm reset when the NAND device is accessed >> again. >> >> Fix by assigning the device pointer directly: >> mtd->dev = cadence->dev; >> >> This matches U-Boot’s device model, preserves a valid hierarchy, and >> resolves the warm reset issue on Cadence NAND. >> >> Fixes: ebc41cad ("drivers: mtd: nand: Add driver for Cadence Nand") >> Signed-off-by: Dinesh Maniyam <dinesh.mani...@intel.com> >> --- >> > > Reviewed-by: Michael Trimarchi <mich...@amarulasolutions.com> > > >> drivers/mtd/nand/raw/cadence_nand.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/mtd/nand/raw/cadence_nand.c >> b/drivers/mtd/nand/raw/cadence_nand.c >> index 27aa7f97a45..4771440d1de 100644 >> --- a/drivers/mtd/nand/raw/cadence_nand.c >> +++ b/drivers/mtd/nand/raw/cadence_nand.c >> @@ -2196,7 +2196,7 @@ static int cadence_nand_chip_init(struct >> cadence_nand_info *cadence, ofnode node >> chip->controller = &cadence->controller; >> nand_set_flash_node(chip, node); >> mtd = nand_to_mtd(chip); >> - mtd->dev->parent = cadence->dev; >> + mtd->dev = cadence->dev; >> >> chip->options |= NAND_BUSWIDTH_AUTO; >> chip->select_chip = cadence_nand_select_chip; >> -- >> 2.35.3 >> >> > > -- > Michael Nazzareno Trimarchi > Co-Founder & Chief Executive Officer > M. +39 347 913 2170 > mich...@amarulasolutions.com > __________________________________ > > Amarula Solutions BV > Joop Geesinkweg 125, 1114 AB, Amsterdam, NL > T. +31 (0)85 111 9172 > i...@amarulasolutions.com > www.amarulasolutions.com > -- Michael Nazzareno Trimarchi Co-Founder & Chief Executive Officer M. +39 347 913 2170 mich...@amarulasolutions.com __________________________________ Amarula Solutions BV Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172 i...@amarulasolutions.com www.amarulasolutions.com