usb: host: xhci-rcar: Don't reload firmware after the completion
commit57f3ffdc11upstream. According to the datasheet, "Upon the completion of FW Download, there is no need to write or reload FW.". Otherwise, it's possible to cause unexpected behaviors. So, adds such a condition. Fixes:4ac8918f3a("usb: host: xhci-plat: add support for the R-Car H2 and M2 xHCI controllers") Cc: stable@vger.kernel.org # v3.17+ Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Link: https://lore.kernel.org/r/20210827063227.81990-1-yoshihiro.shimoda.uh@renesas.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c3fd7b0b9a
commit
d544c9a219
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user