diff options
author | Aniroop Mathur <a.mathur@samsung.com> | 2016-12-18 15:27:16 -0800 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2016-12-18 15:55:57 -0800 |
commit | 67626c9323027534496d21cf32793121662d03c0 (patch) | |
tree | 7442a44ff9d4912fcf7e33bd2457a87f1defe7a5 /drivers/input/mouse/synaptics_i2c.c | |
parent | 41c567a5d7d1a986763e58c3394782813c3bcb03 (diff) | |
download | linux-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.c | 4 |
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"); |