drm/gma500: fix error path in gma_intel_setup_gmbus()
authorRasmus Villemoes <[email protected]>
Tue, 9 Feb 2016 20:11:12 +0000 (21:11 +0100)
committerDaniel Vetter <[email protected]>
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 <[email protected]>
Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
Reviewed-by: Andy Shevchenko <[email protected]>
Signed-off-by: Daniel Vetter <[email protected]>
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);
        }