Skip to content

Commit

Permalink
Input: psmouse - make sure we don't schedule reconnects after cleanup
Browse files Browse the repository at this point in the history
Set state of the device as "initializing" during and after cleanup
to ensure that unsolicited data from the device is not passed on.
We especially want to avoid processing new device announcements
"0xaa 0x00" that can come up before we perform reconnect operation.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Dmitry Torokhov committed Feb 8, 2010
1 parent f6bdc23 commit a9f0c38
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion drivers/input/mouse/psmouse-base.c
Original file line number Diff line number Diff line change
Expand Up @@ -1141,7 +1141,14 @@ static void psmouse_cleanup(struct serio *serio)
psmouse_deactivate(parent);
}

psmouse_deactivate(psmouse);
psmouse_set_state(psmouse, PSMOUSE_INITIALIZING);

/*
* Disable stream mode so cleanup routine can proceed undisturbed.
*/
if (ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_DISABLE))
printk(KERN_WARNING "psmouse.c: Failed to disable mouse on %s\n",
psmouse->ps2dev.serio->phys);

if (psmouse->cleanup)
psmouse->cleanup(psmouse);
Expand Down

0 comments on commit a9f0c38

Please sign in to comment.