]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
regmap: kunit: Fix an NULL vs IS_ERR() check
authorDan Carpenter <dan.carpenter@linaro.org>
Mon, 15 Apr 2024 10:34:54 +0000 (13:34 +0300)
committerMark Brown <broonie@kernel.org>
Mon, 15 Apr 2024 10:54:57 +0000 (19:54 +0900)
The kunit_device_register() function returns error pointers, not NULL.
Passing an error pointer to get_device() will lead to an Oops.  Also
get_device() returns the same device you passed to it.  Fix it!  ;)

Fixes: 7b7982f14315 ("regmap: kunit: Create a struct device for the regmap")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/b32e80cf-b385-40cd-b8ec-77ec73e07530@moroto.mountain
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regmap-kunit.c

index 44265dc2313da16dbca21990861981afa86fc576..9c5314785fc21db3d2fbe0da0d9869889e76d4e3 100644 (file)
@@ -1925,10 +1925,10 @@ static int regmap_test_init(struct kunit *test)
        test->priv = priv;
 
        dev = kunit_device_register(test, "regmap_test");
-       priv->dev = get_device(dev);
-       if (!priv->dev)
-               return -ENODEV;
+       if (IS_ERR(dev))
+               return PTR_ERR(dev);
 
+       priv->dev = get_device(dev);
        dev_set_drvdata(dev, test);
 
        return 0;