libpayload: usb: dwc2: fix hub hot-plug bug

When disconnect detected in dwc2_split_transfear() split configure
registers should be cleared before return

BRANCH=None
BUG=chrome-os-partner:44534
TEST=tested on Jerry, usb hot plug could be supported in coreboot

Change-Id: Ie1eecec067305874513c6ceb95df4240dc393cd6
Signed-off-by: Yunzhi Li <lyz@rock-chips.com>
Reviewed-on: https://chromium-review.googlesource.com/295625
Reviewed-by: David Hendricks <dhendrix@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Commit-Queue: Lin Huang <hl@rock-chips.com>
Tested-by: Lin Huang <hl@rock-chips.com>
(cherry picked from commit d543e14cdc73bd549dd553c8d1d07672a1307981)
Reviewed-on: https://chromium-review.googlesource.com/299100
This commit is contained in:
Yunzhi Li 2015-08-28 09:43:44 +08:00 committed by ChromeOS bot
commit b9e50b870c

View file

@ -325,8 +325,10 @@ dwc2_split_transfer(endpoint_t *ep, int size, int pid, ep_dir_t dir,
do {
hfnum.d32 = readl(&reg->host.hfnum);
if (dwc2_disconnected(ep->dev->controller))
return -HCSTAT_DISCONNECTED;
if (dwc2_disconnected(ep->dev->controller)) {
ret = -HCSTAT_DISCONNECTED;
goto out;
}
} while (hfnum.frnum % 8 != 0);
/* Handle Start-Split */