diff options
author | Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> | 2018-04-10 14:38:53 +0900 |
---|---|---|
committer | Felipe Balbi <felipe.balbi@linux.intel.com> | 2018-05-21 10:36:14 +0300 |
commit | 0259068f63f23a665ded28647f2f9cdb6b20dc72 (patch) | |
tree | 95b757e80a7c0e55c051569b42607f895fdd6656 | |
parent | 003bc1dee216b1fb8e02040a95672bea0f1fe797 (diff) | |
download | linux-0259068f63f23a665ded28647f2f9cdb6b20dc72.tar.gz linux-0259068f63f23a665ded28647f2f9cdb6b20dc72.tar.bz2 linux-0259068f63f23a665ded28647f2f9cdb6b20dc72.zip |
usb: gadget: udc: renesas_usb3: should fail if devm_phy_get() returns error
This patch fixes an issue that this driver ignores errors other than
the non-existence of the device, f.e. a memory allocation failure
in devm_phy_get(). So, this patch replaces devm_phy_get() with
devm_phy_optional_get().
Reported-by: Simon Horman <horms+renesas@verge.net.au>
Fixes: 279d4bc64060 ("usb: gadget: udc: renesas_usb3: add support for generic phy")
Cc: <stable@vger.kernel.org> # v4.15+
Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
-rw-r--r-- | drivers/usb/gadget/udc/renesas_usb3.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/usb/gadget/udc/renesas_usb3.c b/drivers/usb/gadget/udc/renesas_usb3.c index 61b72edab7ab..5d5a5d9e3669 100644 --- a/drivers/usb/gadget/udc/renesas_usb3.c +++ b/drivers/usb/gadget/udc/renesas_usb3.c @@ -2638,9 +2638,11 @@ static int renesas_usb3_probe(struct platform_device *pdev) * This is optional. So, if this driver cannot get a phy, * this driver will not handle a phy anymore. */ - usb3->phy = devm_phy_get(&pdev->dev, "usb"); - if (IS_ERR(usb3->phy)) - usb3->phy = NULL; + usb3->phy = devm_phy_optional_get(&pdev->dev, "usb"); + if (IS_ERR(usb3->phy)) { + ret = PTR_ERR(usb3->phy); + goto err_add_udc; + } pm_runtime_enable(&pdev->dev); ret = usb_add_gadget_udc(&pdev->dev, &usb3->gadget); |