diff mbox series

i2c: muxes: Fix return value check in mule_i2c_mux_probe()

Message ID 20241026030942.1484-1-yangyingliang@huaweicloud.com
State New
Headers show
Series i2c: muxes: Fix return value check in mule_i2c_mux_probe() | expand

Commit Message

Yang Yingliang Oct. 26, 2024, 3:09 a.m. UTC
From: Yang Yingliang <yangyingliang@huawei.com>

If dev_get_regmap() fails, it returns NULL pointer not ERR_PTR(),
replace IS_ERR() with NULL pointer check, and return -ENODEV.

Fixes: d0f8e97866bf ("i2c: muxes: add support for tsd,mule-i2c multiplexer")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/i2c/muxes/i2c-mux-mule.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Andi Shyti Oct. 31, 2024, 12:09 p.m. UTC | #1
Hi Yang,

On Sat, Oct 26, 2024 at 11:09:42AM +0800, Yang Yingliang wrote:
> From: Yang Yingliang <yangyingliang@huawei.com>
> 
> If dev_get_regmap() fails, it returns NULL pointer not ERR_PTR(),
> replace IS_ERR() with NULL pointer check, and return -ENODEV.
> 
> Fixes: d0f8e97866bf ("i2c: muxes: add support for tsd,mule-i2c multiplexer")
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>

merged to i2c/i2c-host-fixes.

Thanks,
Andi
Wolfram Sang Nov. 4, 2024, 10:56 a.m. UTC | #2
On Thu, Oct 31, 2024 at 01:09:17PM +0100, Andi Shyti wrote:
> Hi Yang,
> 
> On Sat, Oct 26, 2024 at 11:09:42AM +0800, Yang Yingliang wrote:
> > From: Yang Yingliang <yangyingliang@huawei.com>
> > 
> > If dev_get_regmap() fails, it returns NULL pointer not ERR_PTR(),
> > replace IS_ERR() with NULL pointer check, and return -ENODEV.
> > 
> > Fixes: d0f8e97866bf ("i2c: muxes: add support for tsd,mule-i2c multiplexer")
> > Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> 
> merged to i2c/i2c-host-fixes.

I'd like an ack from Farouk here. In general, -ENODEV makes the driver
core sliently fail (ok, we have a printout but still). But not getting
the regmap sounds like a real error to me. I'd suggest -ENOENT or
something. But maybe this mux is a special case, Farouk should know.
Farouk Bouabid Nov. 4, 2024, 12:55 p.m. UTC | #3
Hi,

On 04.11.24 11:56, Wolfram Sang wrote:
> On Thu, Oct 31, 2024 at 01:09:17PM +0100, Andi Shyti wrote:
>> Hi Yang,
>>
>> On Sat, Oct 26, 2024 at 11:09:42AM +0800, Yang Yingliang wrote:
>>> From: Yang Yingliang <yangyingliang@huawei.com>
>>>
>>> If dev_get_regmap() fails, it returns NULL pointer not ERR_PTR(),
>>> replace IS_ERR() with NULL pointer check, and return -ENODEV.
>>>
>>> Fixes: d0f8e97866bf ("i2c: muxes: add support for tsd,mule-i2c multiplexer")
>>> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
>> merged to i2c/i2c-host-fixes.
> I'd like an ack from Farouk here. In general, -ENODEV makes the driver
> core sliently fail (ok, we have a printout but still). But not getting
> the regmap sounds like a real error to me. I'd suggest -ENOENT or
> something. But maybe this mux is a special case, Farouk should know.
>

I think the -ENODEV is good enough since we already log the error.

Thanks

Best regards
diff mbox series

Patch

diff --git a/drivers/i2c/muxes/i2c-mux-mule.c b/drivers/i2c/muxes/i2c-mux-mule.c
index 8e942470b35f..284ff4afeeac 100644
--- a/drivers/i2c/muxes/i2c-mux-mule.c
+++ b/drivers/i2c/muxes/i2c-mux-mule.c
@@ -66,8 +66,8 @@  static int mule_i2c_mux_probe(struct platform_device *pdev)
 	priv = i2c_mux_priv(muxc);
 
 	priv->regmap = dev_get_regmap(mux_dev->parent, NULL);
-	if (IS_ERR(priv->regmap))
-		return dev_err_probe(mux_dev, PTR_ERR(priv->regmap),
+	if (!priv->regmap)
+		return dev_err_probe(mux_dev, -ENODEV,
 				     "No parent i2c register map\n");
 
 	platform_set_drvdata(pdev, muxc);