Merge "byte-cntr: ensure usbch to be ready"

This commit is contained in:
qctecmdr 2021-03-01 20:58:40 -08:00 • committed by Gerrit - the friendly Code Review server
commit 894b5fef79

View file

@ -1,5 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2017-2020, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-2021, The Linux Foundation. All rights reserved.
*
* Description: CoreSight Trace Memory Controller driver
*/
@ -207,6 +207,24 @@ static int usb_bypass_start(struct byte_cntr *byte_cntr_data)
return -EINVAL;
}
/*Ensure usbch is ready*/
if (!tmcdrvdata->usbch) {
int i;
for (i = TIMEOUT_US; i > 0; i--) {
if (tmcdrvdata->usbch)
break;
if (i - 1)
udelay(1);
else {
dev_err(&tmcdrvdata->csdev->dev,
"timeout while waiting usbch to be ready\n");
mutex_unlock(&byte_cntr_data->usb_bypass_lock);
return -EAGAIN;
}
}
}
atomic_set(&byte_cntr_data->usb_free_buf, USB_BUF_NUM);
offset = tmc_sg_get_rwp_offset(tmcdrvdata);