This is a note to let you know that I've just added the patch titled usb: dwc3: xilinx: Fix error handling when getting USB3 PHY to the 5.16-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: usb-dwc3-xilinx-fix-error-handling-when-getting-usb3-phy.patch and it can be found in the queue-5.16 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 2cc9b1c93b1c4caa2d971856c0780fb5f7d04692 Mon Sep 17 00:00:00 2001 From: Robert Hancock <robert.hancock@xxxxxxxxxx> Date: Tue, 25 Jan 2022 18:02:51 -0600 Subject: usb: dwc3: xilinx: Fix error handling when getting USB3 PHY From: Robert Hancock <robert.hancock@xxxxxxxxxx> commit 2cc9b1c93b1c4caa2d971856c0780fb5f7d04692 upstream. 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: 84770f028fab ("usb: dwc3: Add driver for Xilinx platforms") Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Robert Hancock <robert.hancock@xxxxxxxxxx> Link: https://lore.kernel.org/r/20220126000253.1586760-3-robert.hancock@xxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/usb/dwc3/dwc3-xilinx.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) --- a/drivers/usb/dwc3/dwc3-xilinx.c +++ b/drivers/usb/dwc3/dwc3-xilinx.c @@ -102,12 +102,12 @@ static int dwc3_xlnx_init_zynqmp(struct 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; } /* Patches currently in stable-queue which might be from robert.hancock@xxxxxxxxxx are queue-5.16/serial-8250-of-fix-mapped-region-size-when-using-reg-offset-property.patch queue-5.16/usb-dwc3-xilinx-skip-resets-and-usb3-register-settings-for-usb2.0-mode.patch queue-5.16/usb-dwc3-xilinx-fix-error-handling-when-getting-usb3-phy.patch