]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blobdiff - drivers/i2c/busses/i2c-tegra.c
i2c: tegra: Fix suspending in active runtime PM state
[mirror_ubuntu-eoan-kernel.git] / drivers / i2c / busses / i2c-tegra.c
index 7a3291d91a5ee5c8a8f5f4f09520d5f5b65f7c9c..1094d12d2f0b84163b675a68da512d4f40d1d4a6 100644 (file)
@@ -1711,9 +1711,14 @@ static int tegra_i2c_remove(struct platform_device *pdev)
 static int tegra_i2c_suspend(struct device *dev)
 {
        struct tegra_i2c_dev *i2c_dev = dev_get_drvdata(dev);
+       int err;
 
        i2c_mark_adapter_suspended(&i2c_dev->adapter);
 
+       err = pm_runtime_force_suspend(dev);
+       if (err < 0)
+               return err;
+
        return 0;
 }
 
@@ -1734,6 +1739,10 @@ static int tegra_i2c_resume(struct device *dev)
        if (err)
                return err;
 
+       err = pm_runtime_force_resume(dev);
+       if (err < 0)
+               return err;
+
        i2c_mark_adapter_resumed(&i2c_dev->adapter);
 
        return 0;