diff --git a/net/qrtr/mhi.c b/net/qrtr/mhi.c index ab21357fe1b0..519bd2186d85 100644 --- a/net/qrtr/mhi.c +++ b/net/qrtr/mhi.c @@ -62,6 +62,9 @@ static void qcom_mhi_qrtr_ul_callback(struct mhi_device *mhi_dev, struct qrtr_mhi_pkt *pkt; unsigned long flags; + if (!qdev) + return; + spin_lock_irqsave(&qdev->ul_lock, flags); if (list_empty(&qdev->ul_pkts)) { spin_unlock_irqrestore(&qdev->ul_lock, flags); @@ -171,12 +174,12 @@ static int qcom_mhi_qrtr_probe(struct mhi_device *mhi_dev, INIT_LIST_HEAD(&qdev->ul_pkts); spin_lock_init(&qdev->ul_lock); + dev_set_drvdata(&mhi_dev->dev, qdev); + rc = qrtr_endpoint_register(&qdev->ep, net_id, rt); if (rc) return rc; - dev_set_drvdata(&mhi_dev->dev, qdev); - dev_dbg(qdev->dev, "QTI MHI QRTR driver probed\n"); return 0;