bus: mhi: ep: Check dev_set_name() return value
authorBo Liu <liubo03@inspur.com>
Fri, 8 Jul 2022 01:59:48 +0000 (21:59 -0400)
committerManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Sat, 9 Jul 2022 06:27:54 +0000 (11:57 +0530)
It's possible that dev_set_name() returns -ENOMEM, catch and handle this.

Signed-off-by: Bo Liu <liubo03@inspur.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://lore.kernel.org/r/20220708015948.4091-1-liubo03@inspur.com
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/bus/mhi/ep/main.c

index 40109a7..1dc8a35 100644 (file)
@@ -1242,9 +1242,13 @@ static int mhi_ep_create_device(struct mhi_ep_cntrl *mhi_cntrl, u32 ch_id)
 
        /* Channel name is same for both UL and DL */
        mhi_dev->name = mhi_chan->name;
-       dev_set_name(&mhi_dev->dev, "%s_%s",
+       ret = dev_set_name(&mhi_dev->dev, "%s_%s",
                     dev_name(&mhi_cntrl->mhi_dev->dev),
                     mhi_dev->name);
+       if (ret) {
+               put_device(&mhi_dev->dev);
+               return ret;
+       }
 
        ret = device_add(&mhi_dev->dev);
        if (ret)
@@ -1408,7 +1412,10 @@ int mhi_ep_register_controller(struct mhi_ep_cntrl *mhi_cntrl,
                goto err_free_irq;
        }
 
-       dev_set_name(&mhi_dev->dev, "mhi_ep%u", mhi_cntrl->index);
+       ret = dev_set_name(&mhi_dev->dev, "mhi_ep%u", mhi_cntrl->index);
+       if (ret)
+               goto err_put_dev;
+
        mhi_dev->name = dev_name(&mhi_dev->dev);
        mhi_cntrl->mhi_dev = mhi_dev;