summaryrefslogtreecommitdiffstats
path: root/drivers/input/mouse/synaptics_i2c.c
diff options
context:
space:
mode:
authorAniroop Mathur <a.mathur@samsung.com>2016-12-18 15:27:16 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2016-12-18 15:55:57 -0800
commit67626c9323027534496d21cf32793121662d03c0 (patch)
tree7442a44ff9d4912fcf7e33bd2457a87f1defe7a5 /drivers/input/mouse/synaptics_i2c.c
parent41c567a5d7d1a986763e58c3394782813c3bcb03 (diff)
downloadlinux-stable-67626c9323027534496d21cf32793121662d03c0.tar.gz
linux-stable-67626c9323027534496d21cf32793121662d03c0.tar.bz2
linux-stable-67626c9323027534496d21cf32793121662d03c0.zip
Input: synaptics_i2c - change msleep to usleep_range for small msecs
msleep(1~20) may not do what the caller intends, and will often sleep longer. (~20 ms actual sleep for any value given in the 1~20ms range) This is not the desired behaviour for many cases like device resume time, device suspend time, device enable time, retry logic, etc. Thus, change msleep to usleep_range for precise wakeups. Signed-off-by: Aniroop Mathur <a.mathur@samsung.com> Acked-by: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/mouse/synaptics_i2c.c')
-rw-r--r--drivers/input/mouse/synaptics_i2c.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/input/mouse/synaptics_i2c.c b/drivers/input/mouse/synaptics_i2c.c
index aa7c5da60800..cb2bf203f4ca 100644
--- a/drivers/input/mouse/synaptics_i2c.c
+++ b/drivers/input/mouse/synaptics_i2c.c
@@ -29,7 +29,7 @@
* after soft reset, we should wait for 1 ms
* before the device becomes operational
*/
-#define SOFT_RESET_DELAY_MS 3
+#define SOFT_RESET_DELAY_US 3000
/* and after hard reset, we should wait for max 500ms */
#define HARD_RESET_DELAY_MS 500
@@ -311,7 +311,7 @@ static int synaptics_i2c_reset_config(struct i2c_client *client)
if (ret) {
dev_err(&client->dev, "Unable to reset device\n");
} else {
- msleep(SOFT_RESET_DELAY_MS);
+ usleep_range(SOFT_RESET_DELAY_US, SOFT_RESET_DELAY_US + 100);
ret = synaptics_i2c_config(client);
if (ret)
dev_err(&client->dev, "Unable to config device\n");