[patch] drm/nva3: checking the wrong variable

Dan Carpenter dan.carpenter at oracle.com
Tue Oct 11 07:34:53 PDT 2011

"id" is unsigned here and it's never less than zero.  I believe the
intent was to check the return value from nva3_pm_pll_offset().
Also I've changed it to pass on the -ENOENT error code from the lower
levels instead of returning -EINVAL.

Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>

diff --git a/drivers/gpu/drm/nouveau/nva3_pm.c b/drivers/gpu/drm/nouveau/nva3_pm.c
index e4b2b9e..0be517d 100644
--- a/drivers/gpu/drm/nouveau/nva3_pm.c
+++ b/drivers/gpu/drm/nouveau/nva3_pm.c
@@ -112,8 +112,8 @@ nva3_pm_clock_pre(struct drm_device *dev, struct nouveau_pm_level *perflvl,
 		return (ret == -ENOENT) ? NULL : ERR_PTR(ret);
 	off = nva3_pm_pll_offset(id);
-	if (id < 0)
-		return ERR_PTR(-EINVAL);
+	if (off < 0)
+		return ERR_PTR(off);
 	pll = kzalloc(sizeof(*pll), GFP_KERNEL);

More information about the dri-devel mailing list