NVIDIA: SAUCE: usb: gadget: xudc: ACK ST_RC after clearing CTRL_RUN

We found a bug where the ST_RC bit in the status register was not being acknowledged
after clearing the CTRL_RUN bit in the control register.
This could lead to unexpected behavior in the USB gadget driver.

This patch fix the issue by add the code to ACK ST_RC after clearing CTRL_RUN.

http://nvbugs/4295138
http://nvbugs/4163106

Signed-off-by: Wayne Chang <waynec@nvidia.com>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Noah Wager <noah.wager@canonical.com>
Acked-by: Jacob Martin <jacob.martin@canonical.com>
Signed-off-by: Noah Wager <noah.wager@canonical.com>
This commit is contained in:
Wayne Chang
2023-09-19 16:51:22 +08:00
committed by Noah Wager
parent 454708727b
commit ceefcb9507
+4
View File
@@ -1755,6 +1755,10 @@ static int __tegra_xudc_ep_disable(struct tegra_xudc_ep *ep)
val = xudc_readl(xudc, CTRL);
val &= ~CTRL_RUN;
xudc_writel(xudc, val, CTRL);
val = xudc_readl(xudc, ST);
if (val & ST_RC)
xudc_writel(xudc, ST_RC, ST);
}
dev_info(xudc->dev, "ep %u disabled\n", ep->index);