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

Commit 5593a67a authored by Arun Kumar Neelakantam's avatar Arun Kumar Neelakantam
Browse files

qrtr: mhi-dev: Wait for RX channel to be enumerated



Registering only for endpoint RX channel to complete enumeration and
starting to open both RX/TX channels leads to race condition on TX channel.
Since the host does TX followed by RX init.

Wait for endpoint TX channel init to synchronise with host.

Change-Id: Ied002a89b51f71fa30cb7557f7dce27cfe1fd202
Signed-off-by: default avatarSricharan R <sricharan@codeaurora.org>
Signed-off-by: default avatarArun Kumar Neelakantam <aneela@codeaurora.org>
parent 497e1f66
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
/* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -222,8 +222,11 @@ static int qrtr_mhi_dev_probe(struct platform_device *pdev)
	mutex_init(&qep->out_lock);
	init_completion(&qep->out_tre);
	qep->ep.xmit = qrtr_mhi_dev_send;
	/* HOST init TX first followed by RX, so register for endpoint TX
	 * which makes both channel ready by checking one channel state.
	 */
	rc = mhi_register_state_cb(qrtr_mhi_dev_state_cb, qep,
				   QRTR_MHI_DEV_IN);
				   QRTR_MHI_DEV_OUT);
	if (rc)
		return rc;