usb: phy: fix return value check of usb_get_phy
usb_get_phy will return -ENODEV if it's not able to find the phy. Hence fixed all the callers of usb_get_phy to check for this error condition instead of relying on a non-zero value as success condition. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
这个提交包含在:
@@ -13,6 +13,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/usb/otg.h>
|
||||
#include <linux/platform_data/mv_usb.h>
|
||||
|
||||
@@ -254,7 +255,7 @@ static int mv_ehci_probe(struct platform_device *pdev)
|
||||
if (ehci_mv->mode == MV_USB_MODE_OTG) {
|
||||
#ifdef CONFIG_USB_OTG_UTILS
|
||||
ehci_mv->otg = usb_get_phy(USB_PHY_TYPE_USB2);
|
||||
if (!ehci_mv->otg) {
|
||||
if (IS_ERR_OR_NULL(ehci_mv->otg)) {
|
||||
dev_err(&pdev->dev,
|
||||
"unable to find transceiver\n");
|
||||
retval = -ENODEV;
|
||||
@@ -302,7 +303,7 @@ err_set_vbus:
|
||||
pdata->set_vbus(0);
|
||||
#ifdef CONFIG_USB_OTG_UTILS
|
||||
err_put_transceiver:
|
||||
if (ehci_mv->otg)
|
||||
if (!IS_ERR_OR_NULL(ehci_mv->otg))
|
||||
usb_put_phy(ehci_mv->otg);
|
||||
#endif
|
||||
err_disable_clk:
|
||||
@@ -331,7 +332,7 @@ static int mv_ehci_remove(struct platform_device *pdev)
|
||||
if (hcd->rh_registered)
|
||||
usb_remove_hcd(hcd);
|
||||
|
||||
if (ehci_mv->otg) {
|
||||
if (!IS_ERR_OR_NULL(ehci_mv->otg)) {
|
||||
otg_set_host(ehci_mv->otg->otg, NULL);
|
||||
usb_put_phy(ehci_mv->otg);
|
||||
}
|
||||
|
在新工单中引用
屏蔽一个用户