i2c: omap: Move the remove constraint
authorShubhrajyoti D <shubhrajyoti@ti.com>
Thu, 15 Nov 2012 08:49:21 +0000 (14:19 +0530)
committerWolfram Sang <w.sang@pengutronix.de>
Fri, 16 Nov 2012 14:18:52 +0000 (15:18 +0100)
Currently we just queue the transfer and release the
qos constraints, however we do not wait for the transfer
to complete to release the constraint. Move the remove
constraint after the bus busy as we are sure that the
transfers are completed by then.

Acked-by: Jean Pihet <j-pihet@ti.com>
Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
drivers/i2c/busses/i2c-omap.c

index 49b12fb..2482801 100644 (file)
@@ -654,13 +654,14 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
                        break;
        }
 
-       if (dev->set_mpu_wkup_lat != NULL)
-               dev->set_mpu_wkup_lat(dev->dev, -1);
-
        if (r == 0)
                r = num;
 
        omap_i2c_wait_for_bb(dev);
+
+       if (dev->set_mpu_wkup_lat != NULL)
+               dev->set_mpu_wkup_lat(dev->dev, -1);
+
 out:
        pm_runtime_mark_last_busy(dev->dev);
        pm_runtime_put_autosuspend(dev->dev);