diff options
| -rw-r--r-- | drivers/input/mouse/psmouse-base.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index cabf4e1caacc..9774bdfaa482 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c | |||
| @@ -690,19 +690,6 @@ static int psmouse_extensions(struct psmouse *psmouse, | |||
| 690 | max_proto = PSMOUSE_IMEX; | 690 | max_proto = PSMOUSE_IMEX; |
| 691 | } | 691 | } |
| 692 | 692 | ||
| 693 | /* | ||
| 694 | * Try Finger Sensing Pad | ||
| 695 | */ | ||
| 696 | if (max_proto > PSMOUSE_IMEX) { | ||
| 697 | if (fsp_detect(psmouse, set_properties) == 0) { | ||
| 698 | if (!set_properties || fsp_init(psmouse) == 0) | ||
| 699 | return PSMOUSE_FSP; | ||
| 700 | /* | ||
| 701 | * Init failed, try basic relative protocols | ||
| 702 | */ | ||
| 703 | max_proto = PSMOUSE_IMEX; | ||
| 704 | } | ||
| 705 | } | ||
| 706 | 693 | ||
| 707 | if (max_proto > PSMOUSE_IMEX) { | 694 | if (max_proto > PSMOUSE_IMEX) { |
| 708 | if (genius_detect(psmouse, set_properties) == 0) | 695 | if (genius_detect(psmouse, set_properties) == 0) |
| @@ -719,6 +706,21 @@ static int psmouse_extensions(struct psmouse *psmouse, | |||
| 719 | } | 706 | } |
| 720 | 707 | ||
| 721 | /* | 708 | /* |
| 709 | * Try Finger Sensing Pad. We do it here because its probe upsets | ||
| 710 | * Trackpoint devices (causing TP_READ_ID command to time out). | ||
| 711 | */ | ||
| 712 | if (max_proto > PSMOUSE_IMEX) { | ||
| 713 | if (fsp_detect(psmouse, set_properties) == 0) { | ||
| 714 | if (!set_properties || fsp_init(psmouse) == 0) | ||
| 715 | return PSMOUSE_FSP; | ||
| 716 | /* | ||
| 717 | * Init failed, try basic relative protocols | ||
| 718 | */ | ||
| 719 | max_proto = PSMOUSE_IMEX; | ||
| 720 | } | ||
| 721 | } | ||
| 722 | |||
| 723 | /* | ||
| 722 | * Reset to defaults in case the device got confused by extended | 724 | * Reset to defaults in case the device got confused by extended |
| 723 | * protocol probes. Note that we follow up with full reset because | 725 | * protocol probes. Note that we follow up with full reset because |
| 724 | * some mice put themselves to sleep when they see PSMOUSE_RESET_DIS. | 726 | * some mice put themselves to sleep when they see PSMOUSE_RESET_DIS. |
