diff --git a/patch/u-boot/v2024.01/board_rk322x-box/rk322x-add-usb-reset-props.patch b/patch/u-boot/v2024.01/board_rk322x-box/rk322x-add-usb-reset-props.patch index 1035b4d84..c54d672be 100644 --- a/patch/u-boot/v2024.01/board_rk322x-box/rk322x-add-usb-reset-props.patch +++ b/patch/u-boot/v2024.01/board_rk322x-box/rk322x-add-usb-reset-props.patch @@ -46,7 +46,42 @@ index 8eed9e3a92..ffe503e5db 100644 + reset-names = "ehci"; status = "disabled"; }; + +diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c +index 936e30438d..09d3805e78 100644 +--- a/drivers/usb/host/dwc2.c ++++ b/drivers/usb/host/dwc2.c +@@ -1436,7 +1438,10 @@ static int dwc2_usb_remove(struct udevice *dev) + dwc2_uninit_common(priv->regs); + +- reset_release_bulk(&priv->resets); ++ // Assert first and then leave the resets deasserted ++ reset_assert_bulk(&priv->resets); ++ reset_deassert_bulk(&priv->resets); ++ + clk_disable_bulk(&priv->clks); + clk_release_bulk(&priv->clks); + +diff --git a/drivers/usb/host/ehci-generic.c b/drivers/usb/host/ehci-generic.c +index 936e30438d..09d3805e78 100644 +--- a/drivers/usb/host/ehci-generic.c ++++ b/drivers/usb/host/ehci-generic.c +@@ -148,9 +148,9 @@ static int ehci_usb_remove(struct udevice *dev) + if (ret) + return ret; + +- ret = reset_release_bulk(&priv->resets); +- if (ret) +- return ret; ++ // Assert first and then leave the resets deasserted ++ reset_assert_bulk(&priv->resets); ++ reset_deassert_bulk(&priv->resets); + + return clk_release_bulk(&priv->clocks); + } -- 2.34.1 + +