]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
bus: mhi: host: Do not use uninitialized 'dev' pointer in mhi_init_irq_setup()
authorAdam Xue <zxue@semtech.com>
Sat, 18 Oct 2025 14:54:52 +0000 (10:54 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Oct 2025 13:01:18 +0000 (14:01 +0100)
[ Upstream commit d0856a6dff57f95cc5d2d74e50880f01697d0cc4 ]

In mhi_init_irq_setup, the device pointer used for dev_err() was not
initialized. Use the pointer from mhi_cntrl instead.

Fixes: b0fc0167f254 ("bus: mhi: core: Allow shared IRQ for event rings")
Fixes: 3000f85b8f47 ("bus: mhi: core: Add support for basic PM operations")
Signed-off-by: Adam Xue <zxue@semtech.com>
[mani: reworded subject/description and CCed stable]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Reviewed-by: Krishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20250905174118.38512-1-zxue@semtech.com
[ Adjust context ]
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/bus/mhi/host/init.c

index 2cc48f96afdbc5476e437443921e5386bcb6c2a9..2e7a1a3a546a8c30407102e7b1e99e0c4b7816c8 100644 (file)
@@ -147,7 +147,6 @@ void mhi_deinit_free_irq(struct mhi_controller *mhi_cntrl)
 int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl)
 {
        struct mhi_event *mhi_event = mhi_cntrl->mhi_event;
-       struct device *dev = &mhi_cntrl->mhi_dev->dev;
        int i, ret;
 
        /* Setup BHI_INTVEC IRQ */
@@ -163,7 +162,7 @@ int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl)
                        continue;
 
                if (mhi_event->irq >= mhi_cntrl->nr_irqs) {
-                       dev_err(dev, "irq %d not available for event ring\n",
+                       dev_err(mhi_cntrl->cntrl_dev, "irq %d not available for event ring\n",
                                mhi_event->irq);
                        ret = -EINVAL;
                        goto error_request;
@@ -174,7 +173,7 @@ int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl)
                                  IRQF_SHARED | IRQF_NO_SUSPEND,
                                  "mhi", mhi_event);
                if (ret) {
-                       dev_err(dev, "Error requesting irq:%d for ev:%d\n",
+                       dev_err(mhi_cntrl->cntrl_dev, "Error requesting irq:%d for ev:%d\n",
                                mhi_cntrl->irq[mhi_event->irq], i);
                        goto error_request;
                }