Messages in this thread | | | Date | Fri, 17 Aug 2018 16:37:33 +0200 | From | Miquel Raynal <> | Subject | Re: [LINUX PATCH v10 2/2] mtd: rawnand: arasan: Add support for Arasan NAND Flash Controller |
| |
Hi Naga,
A user of Xilinx BSP reported a problem with lockdep that I can see is not yet fixed in this code:
Naga Sureshkumar Relli <naga.sureshkumar.relli@xilinx.com> wrote on Fri, 17 Aug 2018 18:49:24 +0530:
> +static int anfc_probe(struct platform_device *pdev) > +{ > + struct anfc_nand_controller *nfc; > + struct anfc_nand_chip *anand_chip; > + struct device_node *np = pdev->dev.of_node, *child; > + struct resource *res; > + int err; > + > + nfc = devm_kzalloc(&pdev->dev, sizeof(*nfc), GFP_KERNEL); > + if (!nfc) > + return -ENOMEM; > + > + init_waitqueue_head(&nfc->controller.wq);
The controller structure has a lock which is not initialized here. You should not initialize the waitqueue manually neither and instead use nand_controller_init(&nfc->controller).
> + INIT_LIST_HEAD(&nfc->chips); > + init_completion(&nfc->event); > + nfc->dev = &pdev->dev; > + platform_set_drvdata(pdev, nfc); > + nfc->csnum = -1; > + nfc->controller.ops = &anfc_nand_controller_ops;
More to come.
Thanks, Miquèl
| |