Message ID | 20200618133837.127274-1-weiyongjun1@huawei.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | b2bc2200e89bf6be01da8a9972fee800891725c0 |
Headers | show |
Series | [-next] scsi: ufs: ufs-exynos: Fix return value check in exynos_ufs_init() | expand |
Hi Wei, > In case of error, the function devm_ioremap_resource() returns ERR_PTR() and > never returns NULL. The NULL test in the return value check should be replaced > with IS_ERR(). > > Fixes: 55f4b1f73631 ("scsi: ufs: ufs-exynos: Add UFS host support for Exynos > SoCs") > Reported-by: Hulk Robot <hulkci@huawei.com> > Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> > --- Acked-by: Alim Akhtar <alim.akhtar@samsung.com> Thanks! > drivers/scsi/ufs/ufs-exynos.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/scsi/ufs/ufs-exynos.c b/drivers/scsi/ufs/ufs-exynos.c index > 440f2af83d9c..c918fbc6ca60 100644 > --- a/drivers/scsi/ufs/ufs-exynos.c > +++ b/drivers/scsi/ufs/ufs-exynos.c > @@ -950,25 +950,25 @@ static int exynos_ufs_init(struct ufs_hba *hba) > /* exynos-specific hci */ > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, > "vs_hci"); > ufs->reg_hci = devm_ioremap_resource(dev, res); > - if (!ufs->reg_hci) { > + if (IS_ERR(ufs->reg_hci)) { > dev_err(dev, "cannot ioremap for hci vendor register\n"); > - return -ENOMEM; > + return PTR_ERR(ufs->reg_hci); > } > > /* unipro */ > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, > "unipro"); > ufs->reg_unipro = devm_ioremap_resource(dev, res); > - if (!ufs->reg_unipro) { > + if (IS_ERR(ufs->reg_unipro)) { > dev_err(dev, "cannot ioremap for unipro register\n"); > - return -ENOMEM; > + return PTR_ERR(ufs->reg_unipro); > } > > /* ufs protector */ > res = platform_get_resource_byname(pdev, IORESOURCE_MEM, > "ufsp"); > ufs->reg_ufsp = devm_ioremap_resource(dev, res); > - if (!ufs->reg_ufsp) { > + if (IS_ERR(ufs->reg_ufsp)) { > dev_err(dev, "cannot ioremap for ufs protector register\n"); > - return -ENOMEM; > + return PTR_ERR(ufs->reg_ufsp); > } > > ret = exynos_ufs_parse_dt(dev, ufs); > >
On Thu, 18 Jun 2020 13:38:37 +0000, Wei Yongjun wrote: > In case of error, the function devm_ioremap_resource() returns ERR_PTR() > and never returns NULL. The NULL test in the return value check should > be replaced with IS_ERR(). Applied to 5.9/scsi-queue, thanks! [1/1] scsi: ufs: ufs-exynos: Fix return value check in exynos_ufs_init() https://git.kernel.org/mkp/scsi/c/b2bc2200e89b
diff --git a/drivers/scsi/ufs/ufs-exynos.c b/drivers/scsi/ufs/ufs-exynos.c index 440f2af83d9c..c918fbc6ca60 100644 --- a/drivers/scsi/ufs/ufs-exynos.c +++ b/drivers/scsi/ufs/ufs-exynos.c @@ -950,25 +950,25 @@ static int exynos_ufs_init(struct ufs_hba *hba) /* exynos-specific hci */ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "vs_hci"); ufs->reg_hci = devm_ioremap_resource(dev, res); - if (!ufs->reg_hci) { + if (IS_ERR(ufs->reg_hci)) { dev_err(dev, "cannot ioremap for hci vendor register\n"); - return -ENOMEM; + return PTR_ERR(ufs->reg_hci); } /* unipro */ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "unipro"); ufs->reg_unipro = devm_ioremap_resource(dev, res); - if (!ufs->reg_unipro) { + if (IS_ERR(ufs->reg_unipro)) { dev_err(dev, "cannot ioremap for unipro register\n"); - return -ENOMEM; + return PTR_ERR(ufs->reg_unipro); } /* ufs protector */ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ufsp"); ufs->reg_ufsp = devm_ioremap_resource(dev, res); - if (!ufs->reg_ufsp) { + if (IS_ERR(ufs->reg_ufsp)) { dev_err(dev, "cannot ioremap for ufs protector register\n"); - return -ENOMEM; + return PTR_ERR(ufs->reg_ufsp); } ret = exynos_ufs_parse_dt(dev, ufs);
In case of error, the function devm_ioremap_resource() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Fixes: 55f4b1f73631 ("scsi: ufs: ufs-exynos: Add UFS host support for Exynos SoCs") Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> --- drivers/scsi/ufs/ufs-exynos.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)