diff options
-rw-r--r-- | drivers/usb/host/ehci-msm.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/usb/host/ehci-msm.c b/drivers/usb/host/ehci-msm.c index 9db74ca7e5b9..275c92e53a59 100644 --- a/drivers/usb/host/ehci-msm.c +++ b/drivers/usb/host/ehci-msm.c | |||
@@ -88,13 +88,20 @@ static int ehci_msm_probe(struct platform_device *pdev) | |||
88 | } | 88 | } |
89 | 89 | ||
90 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 90 | res = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
91 | hcd->regs = devm_ioremap_resource(&pdev->dev, res); | 91 | if (!res) { |
92 | if (IS_ERR(hcd->regs)) { | 92 | dev_err(&pdev->dev, "Unable to get memory resource\n"); |
93 | ret = PTR_ERR(hcd->regs); | 93 | ret = -ENODEV; |
94 | goto put_hcd; | 94 | goto put_hcd; |
95 | } | 95 | } |
96 | |||
96 | hcd->rsrc_start = res->start; | 97 | hcd->rsrc_start = res->start; |
97 | hcd->rsrc_len = resource_size(res); | 98 | hcd->rsrc_len = resource_size(res); |
99 | hcd->regs = devm_ioremap(&pdev->dev, hcd->rsrc_start, hcd->rsrc_len); | ||
100 | if (!hcd->regs) { | ||
101 | dev_err(&pdev->dev, "ioremap failed\n"); | ||
102 | ret = -ENOMEM; | ||
103 | goto put_hcd; | ||
104 | } | ||
98 | 105 | ||
99 | /* | 106 | /* |
100 | * OTG driver takes care of PHY initialization, clock management, | 107 | * OTG driver takes care of PHY initialization, clock management, |