On 03.12.2018 10:20, Lukasz Majewski wrote: > Without this change it is possible that Vybrid's NFC driver malloc() call > will obtain some memory used (and correctly free'd) by some previous > driver (in this case pinctrl for Vybrid). > > As a result some fields of struct nfc - in out case mtd->_get_device - are > "pre initialized" with some random values. > > On the latter stage of booting, when e.g. somebody calls 'mtdparts default' > the "data abort" is observed when __get_mtd_device() function is called. > > The mtd->_get_device pointer is not NULL and wrong value is referenced. > > Signed-off-by: Lukasz Majewski <[email protected]>
Looks good: Reviewed-by: Stefan Agner <[email protected]> -- Stefan > > --- > > drivers/mtd/nand/raw/vf610_nfc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mtd/nand/raw/vf610_nfc.c > b/drivers/mtd/nand/raw/vf610_nfc.c > index fce7e5f299..3326c2b096 100644 > --- a/drivers/mtd/nand/raw/vf610_nfc.c > +++ b/drivers/mtd/nand/raw/vf610_nfc.c > @@ -646,7 +646,7 @@ static int vf610_nfc_nand_init(int devnum, void > __iomem *addr) > .flash_bbt = 1, > }; > > - nfc = malloc(sizeof(*nfc)); > + nfc = calloc(1, sizeof(*nfc)); > if (!nfc) { > printf(KERN_ERR "%s: Memory exhausted!\n", __func__); > return -ENOMEM; _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

