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

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

Merge "net: qrtr: haven: Rearrange init order"

parents 53446469 4b705a80
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2020 The Linux Foundation. All rights reserved. */
/* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. */

#include <linux/init.h>
#include <linux/interrupt.h>
@@ -479,6 +479,7 @@ static int channel_hh_probe(struct neuron_channel *cdev)
	if (!priv)
		return -ENOMEM;
	priv->dev = cdev;
	init_waitqueue_head(&priv->wait_q);

	ret = of_property_read_u32(node, "haven-label", &priv->haven_label);
	if (ret) {
@@ -507,8 +508,6 @@ static int channel_hh_probe(struct neuron_channel *cdev)
		dev_err(dev, "failed to get haven rx dbl %d\n", ret);
		goto fail_rx_dbl;
	}

	init_waitqueue_head(&priv->wait_q);
	/* Start the thread for syncing with the sender. */
	priv->sync_thread = kthread_run(channel_sync_thread, priv,
					"recv_sync_thread");
+2 −3
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2020 The Linux Foundation. All rights reserved. */
/* Copyright (c) 2020-2021 The Linux Foundation. All rights reserved. */

#include <linux/init.h>
#include <linux/interrupt.h>
@@ -464,6 +464,7 @@ static int channel_hh_probe(struct neuron_channel *cdev)
	if (!priv)
		return -ENOMEM;
	priv->dev = cdev;
	init_waitqueue_head(&priv->wait_q);

	ret = of_property_read_u32(node, "haven-label", &priv->haven_label);
	if (ret) {
@@ -490,8 +491,6 @@ static int channel_hh_probe(struct neuron_channel *cdev)
		dev_err(dev, "failed to get haven rx dbl %d\n", ret);
		goto fail_rx_dbl;
	}

	init_waitqueue_head(&priv->wait_q);
	/* Start the thread for syncing with the receiver. */
	priv->sync_thread = kthread_run(channel_sync_thread, priv,
					"send_sync_thread");
+8 −8
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2020, The Linux Foundation. All rights reserved. */
/* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. */

#define pr_fmt(fmt) "%s: " fmt, __func__

@@ -603,6 +603,11 @@ static int qrtr_haven_probe(struct platform_device *pdev)
	}
	INIT_WORK(&qdev->work, qrtr_haven_retry_work);

	qdev->ep.xmit = qrtr_haven_send;
	ret = qrtr_endpoint_register(&qdev->ep, QRTR_EP_NET_ID_AUTO, false);
	if (ret)
		goto register_fail;

	qdev->rx_dbl = hh_dbl_rx_register(dbl_label, qrtr_haven_cb, qdev);
	if (IS_ERR_OR_NULL(qdev->rx_dbl)) {
		ret = PTR_ERR(qdev->rx_dbl);
@@ -610,19 +615,14 @@ static int qrtr_haven_probe(struct platform_device *pdev)
		goto fail_rx_dbl;
	}

	qdev->ep.xmit = qrtr_haven_send;
	ret = qrtr_endpoint_register(&qdev->ep, QRTR_EP_NET_ID_AUTO, false);
	if (ret)
		goto register_fail;

	if (haven_rx_avail(&qdev->rx_pipe))
		qrtr_haven_read(qdev);

	return 0;

register_fail:
	hh_dbl_rx_unregister(qdev->rx_dbl);
fail_rx_dbl:
	qrtr_endpoint_unregister(&qdev->ep);
register_fail:
	cancel_work_sync(&qdev->work);
	hh_dbl_tx_unregister(qdev->tx_dbl);