mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-15 00:54:03 +08:00
usb: dwc3: xilinx: Fix error handling when getting USB3 PHY
The code that looked up the USB3 PHY was ignoring all errors other than
EPROBE_DEFER in an attempt to handle the PHY not being present. Fix and
simplify the code by using devm_phy_optional_get and dev_err_probe so
that a missing PHY is not treated as an error and unexpected errors
are handled properly.
Fixes: 84770f028f
("usb: dwc3: Add driver for Xilinx platforms")
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Link: https://lore.kernel.org/r/20220126000253.1586760-3-robert.hancock@calian.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
9678f3361a
commit
2cc9b1c93b
@ -102,12 +102,12 @@ static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *priv_data)
|
||||
int ret;
|
||||
u32 reg;
|
||||
|
||||
usb3_phy = devm_phy_get(dev, "usb3-phy");
|
||||
if (PTR_ERR(usb3_phy) == -EPROBE_DEFER) {
|
||||
ret = -EPROBE_DEFER;
|
||||
usb3_phy = devm_phy_optional_get(dev, "usb3-phy");
|
||||
if (IS_ERR(usb3_phy)) {
|
||||
ret = PTR_ERR(usb3_phy);
|
||||
dev_err_probe(dev, ret,
|
||||
"failed to get USB3 PHY\n");
|
||||
goto err;
|
||||
} else if (IS_ERR(usb3_phy)) {
|
||||
usb3_phy = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user