diff options
Diffstat (limited to 'drivers/nfc/pn544.c')
-rw-r--r-- | drivers/nfc/pn544.c | 8 |
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; } |