Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 894b5fef authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

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

parents de224443 e98d3f8c
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
// 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);