mirror of https://gitee.com/openkylin/linux.git
usb: musb: ux500_dma: add missing MEM resource check
Fix dma_controller_create() fail path in case memory resource is missing. Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
9ee1c7fbea
commit
399e0f4f00
|
@ -374,12 +374,17 @@ struct dma_controller *dma_controller_create(struct musb *musb, void __iomem *ba
|
|||
|
||||
controller = kzalloc(sizeof(*controller), GFP_KERNEL);
|
||||
if (!controller)
|
||||
return NULL;
|
||||
goto kzalloc_fail;
|
||||
|
||||
controller->private_data = musb;
|
||||
|
||||
/* Save physical address for DMA controller. */
|
||||
iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!iomem) {
|
||||
dev_err(musb->controller, "no memory resource defined\n");
|
||||
goto plat_get_fail;
|
||||
}
|
||||
|
||||
controller->phy_base = (dma_addr_t) iomem->start;
|
||||
|
||||
controller->controller.start = ux500_dma_controller_start;
|
||||
|
@ -391,4 +396,9 @@ struct dma_controller *dma_controller_create(struct musb *musb, void __iomem *ba
|
|||
controller->controller.is_compatible = ux500_dma_is_compatible;
|
||||
|
||||
return &controller->controller;
|
||||
|
||||
plat_get_fail:
|
||||
kfree(controller);
|
||||
kzalloc_fail:
|
||||
return NULL;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue