Merge tag 'usb-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[linux-2.6-microblaze.git] / drivers / usb / host / xhci-rcar.c
index 1bc4fe7..9888ba7 100644 (file)
@@ -134,6 +134,13 @@ static int xhci_rcar_download_firmware(struct usb_hcd *hcd)
        const struct soc_device_attribute *attr;
        const char *firmware_name;
 
+       /*
+        * According to the datasheet, "Upon the completion of FW Download,
+        * there is no need to write or reload FW".
+        */
+       if (readl(regs + RCAR_USB3_DL_CTRL) & RCAR_USB3_DL_CTRL_FW_SUCCESS)
+               return 0;
+
        attr = soc_device_match(rcar_quirks_match);
        if (attr)
                quirks = (uintptr_t)attr->data;