mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 15:49:17 -04:00
Merge "net: qrtr: haven: Rearrange init order"
This commit is contained in:
commit
3b61092dd4
3 changed files with 12 additions and 14 deletions
|
|
@ -1,5 +1,5 @@
|
|||
// 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");
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// 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");
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// 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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue