Skip to content

Commit

Permalink
usb: musb: ux500_dma: add missing MEM resource check
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Virupax Sadashivpetimath authored and Felipe Balbi committed Mar 18, 2013
1 parent 9ee1c7f commit 399e0f4
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion drivers/usb/musb/ux500_dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
}

0 comments on commit 399e0f4

Please sign in to comment.