drm/gma500: fix error path in gma_intel_setup_gmbus()
authorRasmus Villemoes <linux@rasmusvillemoes.dk>
Tue, 9 Feb 2016 20:11:12 +0000 (21:11 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 10 Feb 2016 07:25:42 +0000 (08:25 +0100)
The current code fails to call i2c_del_adapter on
dev_prev->gmbus[0].adapter, and if the for loop above failed already
at i==0, all hell breaks loose when we do the loop body for
i = -1,-2,...

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Link: http://patchwork.freedesktop.org/patch/msgid/1455048677-19882-2-git-send-email-linux@rasmusvillemoes.dk
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/gma500/intel_gmbus.c

index 566d330aaeea272c94f168784b2e07bea6aa9554..e7e22187c5390b91b793aae948a0634fb2019f1d 100644 (file)
@@ -436,7 +436,7 @@ int gma_intel_setup_gmbus(struct drm_device *dev)
        return 0;
 
 err:
-       while (--i) {
+       while (i--) {
                struct intel_gmbus *bus = &dev_priv->gmbus[i];
                i2c_del_adapter(&bus->adapter);
        }