]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/i2c/busses/i2c-rcar.c
i2c: rcar: fix resume by always initializing registers before transfer
[karo-tx-linux.git] / drivers / i2c / busses / i2c-rcar.c
index 26f2ff22e97e55cadd20e696e6cd0bfeefeecc30..66b84bf51bbfd06350d9187c5c17b6632af417b7 100644 (file)
@@ -700,6 +700,8 @@ static int rcar_i2c_master_xfer(struct i2c_adapter *adap,
 
        pm_runtime_get_sync(dev);
 
+       rcar_i2c_init(priv);
+
        ret = rcar_i2c_bus_barrier(priv);
        if (ret < 0)
                goto out;
@@ -860,8 +862,6 @@ static int rcar_i2c_probe(struct platform_device *pdev)
        if (ret < 0)
                goto out_pm_put;
 
-       rcar_i2c_init(priv);
-
        /* Don't suspend when multi-master to keep arbitration working */
        if (of_property_read_bool(dev->of_node, "multi-master"))
                priv->flags |= ID_P_PM_BLOCKED;