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 49b12fb00c909e6e65b2b7504f538dc4ac436360..2482801366680a8a5706bd3adde1f05ca10ec557 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);