| From 03cd2c68cdcb563f6463d41360be9f3be8e488f2 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sun, 7 Mar 2021 19:44:46 -0800 |
| Subject: mtd: maps: fix error return code of physmap_flash_remove() |
| |
| From: Jia-Ju Bai <baijiaju1990@gmail.com> |
| |
| [ Upstream commit 620b90d30c08684dc6ebee07c72755d997f9d1f6 ] |
| |
| When platform_get_drvdata() returns NULL to info, no error return code |
| of physmap_flash_remove() is assigned. |
| To fix this bug, err is assigned with -EINVAL in this case |
| |
| Fixes: 73566edf9b91 ("[MTD] Convert physmap to platform driver") |
| Reported-by: TOTE Robot <oslab@tsinghua.edu.cn> |
| Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com> |
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |
| Link: https://lore.kernel.org/linux-mtd/20210308034446.3052-1-baijiaju1990@gmail.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/mtd/maps/physmap-core.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/mtd/maps/physmap-core.c b/drivers/mtd/maps/physmap-core.c |
| index 001ed5deb622..4f63b8430c71 100644 |
| --- a/drivers/mtd/maps/physmap-core.c |
| +++ b/drivers/mtd/maps/physmap-core.c |
| @@ -69,8 +69,10 @@ static int physmap_flash_remove(struct platform_device *dev) |
| int i, err = 0; |
| |
| info = platform_get_drvdata(dev); |
| - if (!info) |
| + if (!info) { |
| + err = -EINVAL; |
| goto out; |
| + } |
| |
| if (info->cmtd) { |
| err = mtd_device_unregister(info->cmtd); |
| -- |
| 2.30.2 |
| |