Message ID | 20220913073434.7252-1-tangbin@cmss.chinamobile.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | soc: imx: fix error check in imx8mp_blk_ctrl_probe() | expand |
On Tue, Sep 13, 2022 at 03:34:34PM +0800, Tang Bin wrote: > In the function imx8mp_blk_ctrl_probe(), > dev_pm_domain_attach_by_name() may return NULL in some cases, > so IS_ERR() doesn't meet the requirements. Thus fix it. > > Fixes: 556f5cf9568a ("soc: imx: add i.MX8MP HSIO blk-ctrl") > Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com> > --- > drivers/soc/imx/imx8mp-blk-ctrl.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c > index ccb30c6cd..ed8557eaf 100644 > --- a/drivers/soc/imx/imx8mp-blk-ctrl.c > +++ b/drivers/soc/imx/imx8mp-blk-ctrl.c > @@ -597,11 +597,11 @@ static int imx8mp_blk_ctrl_probe(struct platform_device *pdev) > > domain->power_dev = > dev_pm_domain_attach_by_name(dev, data->gpc_name); > - if (IS_ERR(domain->power_dev)) { > + if (IS_ERR_OR_NULL(domain->power_dev)) { > dev_err_probe(dev, PTR_ERR(domain->power_dev), > "failed to attach power domain %s\n", > data->gpc_name); > - ret = PTR_ERR(domain->power_dev); > + ret = PTR_ERR(domain->power_dev) ? : -ENODATA; > goto cleanup_pds; > } > dev_set_name(domain->power_dev, "%s", data->name); Checking for NULL in this case is likely a good idea, as if domain->power_dev is NULL, then dev_set_name() will probably oops the kernel. Whether returning -ENODATA and causing a failure, or whether moving on to the next domain is a question that the maintainers of this code need to answer, bearing in mind that NULL here means that the device doesn't need a power domain.
diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c index ccb30c6cd..ed8557eaf 100644 --- a/drivers/soc/imx/imx8mp-blk-ctrl.c +++ b/drivers/soc/imx/imx8mp-blk-ctrl.c @@ -597,11 +597,11 @@ static int imx8mp_blk_ctrl_probe(struct platform_device *pdev) domain->power_dev = dev_pm_domain_attach_by_name(dev, data->gpc_name); - if (IS_ERR(domain->power_dev)) { + if (IS_ERR_OR_NULL(domain->power_dev)) { dev_err_probe(dev, PTR_ERR(domain->power_dev), "failed to attach power domain %s\n", data->gpc_name); - ret = PTR_ERR(domain->power_dev); + ret = PTR_ERR(domain->power_dev) ? : -ENODATA; goto cleanup_pds; } dev_set_name(domain->power_dev, "%s", data->name);
In the function imx8mp_blk_ctrl_probe(), dev_pm_domain_attach_by_name() may return NULL in some cases, so IS_ERR() doesn't meet the requirements. Thus fix it. Fixes: 556f5cf9568a ("soc: imx: add i.MX8MP HSIO blk-ctrl") Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com> --- drivers/soc/imx/imx8mp-blk-ctrl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)