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@xxxxxxxxxx> --- drivers/base/regmap/regmap-kunit.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/base/regmap/regmap-kunit.c b/drivers/base/regmap/regmap-kunit.c index 44265dc2313d..9c5314785fc2 100644 --- a/drivers/base/regmap/regmap-kunit.c +++ b/drivers/base/regmap/regmap-kunit.c @@ -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; -- 2.43.0