From: Dan Carpenter Date: Mon, 19 May 2014 20:35:19 +0000 (+0300) Subject: usb: phy: msm: fix bug in probe() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=2ea7b1487f975eb409a7a2df4081d838069cab05;p=openwrt%2Fstaging%2Fblogic.git usb: phy: msm: fix bug in probe() My previous patch introduced a bug which prevented this driver from loading. devm_ioremap_resource() has a call to devm_request_mem_region() which will fail because the address space is shared between this PHY driver and CI device controller driver. Fixes: 10f0577aa5cb ('usb: phy: msm: change devm_ioremap() to devm_ioremap_resource()') Reported-by:"Ivan T. Ivanov" Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/phy/phy-msm-usb.c b/drivers/usb/phy/phy-msm-usb.c index 4f88174aede5..ced34f39bdd4 100644 --- a/drivers/usb/phy/phy-msm-usb.c +++ b/drivers/usb/phy/phy-msm-usb.c @@ -1586,9 +1586,11 @@ static int msm_otg_probe(struct platform_device *pdev) np ? "alt_core" : "usb_hs_core_clk"); res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - motg->regs = devm_ioremap_resource(&pdev->dev, res); - if (IS_ERR(motg->regs)) - return PTR_ERR(motg->regs); + if (!res) + return -EINVAL; + motg->regs = devm_ioremap(&pdev->dev, res->start, resource_size(res)); + if (!motg->regs) + return -ENOMEM; /* * NOTE: The PHYs can be multiplexed between the chipidea controller