diff options
Diffstat (limited to 'drivers/input/mouse/synaptics.c')
| -rw-r--r-- | drivers/input/mouse/synaptics.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c index 865fc69e9bc3..f3e4f7b0240d 100644 --- a/drivers/input/mouse/synaptics.c +++ b/drivers/input/mouse/synaptics.c | |||
| @@ -182,11 +182,6 @@ static int synaptics_identify(struct psmouse *psmouse) | |||
| 182 | 182 | ||
| 183 | static int synaptics_query_hardware(struct psmouse *psmouse) | 183 | static int synaptics_query_hardware(struct psmouse *psmouse) |
| 184 | { | 184 | { |
| 185 | int retries = 0; | ||
| 186 | |||
| 187 | while ((retries++ < 3) && psmouse_reset(psmouse)) | ||
| 188 | /* empty */; | ||
| 189 | |||
| 190 | if (synaptics_identify(psmouse)) | 185 | if (synaptics_identify(psmouse)) |
| 191 | return -1; | 186 | return -1; |
| 192 | if (synaptics_model_id(psmouse)) | 187 | if (synaptics_model_id(psmouse)) |
| @@ -582,6 +577,8 @@ static int synaptics_reconnect(struct psmouse *psmouse) | |||
| 582 | struct synaptics_data *priv = psmouse->private; | 577 | struct synaptics_data *priv = psmouse->private; |
| 583 | struct synaptics_data old_priv = *priv; | 578 | struct synaptics_data old_priv = *priv; |
| 584 | 579 | ||
| 580 | psmouse_reset(psmouse); | ||
| 581 | |||
| 585 | if (synaptics_detect(psmouse, 0)) | 582 | if (synaptics_detect(psmouse, 0)) |
| 586 | return -1; | 583 | return -1; |
| 587 | 584 | ||
| @@ -640,6 +637,8 @@ int synaptics_init(struct psmouse *psmouse) | |||
| 640 | if (!priv) | 637 | if (!priv) |
| 641 | return -1; | 638 | return -1; |
| 642 | 639 | ||
| 640 | psmouse_reset(psmouse); | ||
| 641 | |||
| 643 | if (synaptics_query_hardware(psmouse)) { | 642 | if (synaptics_query_hardware(psmouse)) { |
| 644 | printk(KERN_ERR "Unable to query Synaptics hardware.\n"); | 643 | printk(KERN_ERR "Unable to query Synaptics hardware.\n"); |
| 645 | goto init_fail; | 644 | goto init_fail; |
