Comment 46 for bug 787738

Revision history for this message
In , page4a (page4a-linux-kernel-bugs) wrote :

Comment on attachment 257213
try to deactivate/activeate mouse again if it failed.

>diff --git a/drivers/input/mouse/psmouse-base.c
>b/drivers/input/mouse/psmouse-base.c
>index a598b72..ebec46d 100644
>--- a/drivers/input/mouse/psmouse-base.c
>+++ b/drivers/input/mouse/psmouse-base.c
>@@ -1255,7 +1255,10 @@ static void psmouse_initialize(struct psmouse *psmouse)
> */
> int psmouse_activate(struct psmouse *psmouse)
> {
>- if (ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_ENABLE)) {
>+ int tries = 0;
>+ while (tries++ < 5 && ps2_command(&psmouse->ps2dev, NULL,
>PSMOUSE_CMD_ENABLE))
>+ ;
>+ if (tries > 5) {
> psmouse_warn(psmouse, "Failed to enable mouse on %s\n",
> psmouse->ps2dev.serio->phys);
> return -1;
>@@ -1271,7 +1274,10 @@ int psmouse_activate(struct psmouse *psmouse)
> */
> int psmouse_deactivate(struct psmouse *psmouse)
> {
>- if (ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_DISABLE)) {
>+ int tries = 0;
>+ while (tries++ < 5 && ps2_command(&psmouse->ps2dev, NULL,
>PSMOUSE_CMD_DISABLE))
>+ ;
>+ if (tries > 5) {
> psmouse_warn(psmouse, "Failed to deactivate mouse on %s\n",
> psmouse->ps2dev.serio->phys);
> return -1;