]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
video: tegra: host: fix VI regulator crash
authorDeepak Nibade <dnibade@nvidia.com>
Wed, 30 Oct 2013 06:27:21 +0000 (11:57 +0530)
committerTerje Bergstrom <tbergstrom@nvidia.com>
Wed, 30 Oct 2013 13:20:57 +0000 (06:20 -0700)
assign VI regulator to NULL after regulator_put() call
to avoid race where regulator_disable() is called after
regulator_put() which results into crash

bug 1366383
bug 1398454

Change-Id: Ie13155775f67d842d6fbdd7a5746bb3bb4d1b0d9
Signed-off-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-on: http://git-master/r/309447
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Nitin Kumbhar <nkumbhar@nvidia.com>
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
drivers/video/tegra/host/vi/tegra_vi.c

index 2d7ed2d7e19f3f289be113c652a9c5df853e068f..4f045d13047e91177619efd450c87efe667da83a 100644 (file)
@@ -62,8 +62,10 @@ void nvhost_vi_deinit(struct platform_device *dev)
        struct vi *tegra_vi;
        tegra_vi = (struct vi *)nvhost_get_private_data(dev);
 
-       if (tegra_vi->reg)
+       if (tegra_vi->reg) {
                regulator_put(tegra_vi->reg);
+               tegra_vi->reg = NULL;
+       }
 }
 
 int nvhost_vi_finalize_poweron(struct platform_device *dev)