summaryrefslogtreecommitdiff
path: root/drivers/nfc
diff options
context:
space:
mode:
authorMohan T <mohant@nvidia.com>2012-01-04 14:58:41 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 01:32:55 -0700
commitaa5a7b3728f2aa5b096eb5607ff4d1d60c02529b (patch)
treeaa94eacd8e916284ad0d58277ff060bea1af10b6 /drivers/nfc
parent50045d85142c58edc50f564d2a35f753d297903b (diff)
drivers: nfc: pn544: Add 1ms delay after I2C read and write
pn544 seems to be slow in handling I2C read/write requests. Even though pn544 acks the read/write but next operation fails. Bug: 915848 Bug: 914700 Bug: 914691 Bug: 915598 Change-Id: I7851d0d4b7c24810ad27f3e0fbd4542b52dc8a5e Signed-off-by: Mohan T <mohant@nvidia.com> Reviewed-on: http://git-master/r/72867 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rakesh Kumar <krakesh@nvidia.com> Reviewed-by: Alok Chauhan <alokc@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Rebase-Id: Ra5ba478ae198bdbcc078f6f136bcfe554c8ba13a
Diffstat (limited to 'drivers/nfc')
-rw-r--r--drivers/nfc/pn544.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/nfc/pn544.c b/drivers/nfc/pn544.c
index 97a1f6b869f0..91216e465e12 100644
--- a/drivers/nfc/pn544.c
+++ b/drivers/nfc/pn544.c
@@ -111,6 +111,10 @@ static ssize_t pn544_dev_read(struct file *filp, char __user *buf,
mutex_unlock(&pn544_dev->read_mutex);
+ /* pn544 seems to be slow in handling I2C read requests
+ * so add 1ms delay after recv operation */
+ udelay(1000);
+
if (ret < 0) {
pr_err("%s: i2c_master_recv returned %d\n", __func__, ret);
return ret;
@@ -156,6 +160,10 @@ static ssize_t pn544_dev_write(struct file *filp, const char __user *buf,
ret = -EIO;
}
+ /* pn544 seems to be slow in handling I2C write requests
+ * so add 1ms delay after I2C send oparation */
+ udelay(1000);
+
return ret;
}