media: i2c: hi846: check return value of regulator_bulk_disable()
authorMartin Kepplinger <martin.kepplinger@puri.sm>
Tue, 9 Nov 2021 13:10:12 +0000 (14:10 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Thu, 16 Dec 2021 19:54:53 +0000 (20:54 +0100)
regulator_bulk_disable can fail and thus suspend() can. Handle that error
gracefully.

Signed-off-by: Martin Kepplinger <martin.kepplinger@puri.sm>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/hi846.c

index 48909faeced4663cd169276abd33eb5df1ac88cd..47fa0324f7fbe824a414681e46574d9210edb5ee 100644 (file)
@@ -1656,7 +1656,7 @@ err_reg:
        return ret;
 }
 
-static void hi846_power_off(struct hi846 *hi846)
+static int hi846_power_off(struct hi846 *hi846)
 {
        if (hi846->rst_gpio)
                gpiod_set_value_cansleep(hi846->rst_gpio, 1);
@@ -1665,7 +1665,7 @@ static void hi846_power_off(struct hi846 *hi846)
                gpiod_set_value_cansleep(hi846->shutdown_gpio, 1);
 
        clk_disable_unprepare(hi846->clock);
-       regulator_bulk_disable(HI846_NUM_SUPPLIES, hi846->supplies);
+       return regulator_bulk_disable(HI846_NUM_SUPPLIES, hi846->supplies);
 }
 
 static int __maybe_unused hi846_suspend(struct device *dev)
@@ -1677,9 +1677,7 @@ static int __maybe_unused hi846_suspend(struct device *dev)
        if (hi846->streaming)
                hi846_stop_streaming(hi846);
 
-       hi846_power_off(hi846);
-
-       return 0;
+       return hi846_power_off(hi846);
 }
 
 static int __maybe_unused hi846_resume(struct device *dev)