i2c: designware: Prevent runtime suspend during adapter registration
[deliverable/linux.git] / drivers / i2c / busses / i2c-designware-core.c
index 4255eaab96d1145e7f6abbe3c039fa840b56a321..99b54be6ba73f814579b50f51936b09effafc25d 100644 (file)
@@ -881,9 +881,17 @@ int i2c_dw_probe(struct dw_i2c_dev *dev)
                return r;
        }
 
+       /*
+        * Increment PM usage count during adapter registration in order to
+        * avoid possible spurious runtime suspend when adapter device is
+        * registered to the device core and immediate resume in case bus has
+        * registered I2C slaves that do I2C transfers in their probe.
+        */
+       pm_runtime_get_noresume(dev->dev);
        r = i2c_add_numbered_adapter(adap);
        if (r)
                dev_err(dev->dev, "failure adding adapter: %d\n", r);
+       pm_runtime_put_noidle(dev->dev);
 
        return r;
 }
This page took 0.025536 seconds and 5 git commands to generate.