If atomic context transfer is required then only do bit-banging
transfers.
bug
1451967
bug
1469284
Change-Id: Icd516610918fc4c59aef32ad154b763dd5418172
Signed-off-by: Chaitanya Bandi <bandik@nvidia.com>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/380933
if (i2c_dev->is_suspended)
return -EBUSY;
- if (i2c_dev->is_shutdown && i2c_dev->bit_banging_xfer_after_shutdown)
+ if ((i2c_dev->is_shutdown || adap->atomic_xfer_only)
+ && i2c_dev->bit_banging_xfer_after_shutdown)
return tegra_i2c_gpio_xfer(adap, msgs, num);
+ if (adap->atomic_xfer_only)
+ return -EBUSY;
+
i2c_dev->msgs = msgs;
i2c_dev->msgs_num = num;