Input: psmouse - make sure we don't schedule reconnects after cleanup
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>
This commit is contained in:
parent
f6bdc2303d
commit
a9f0c38197
1 changed files with 8 additions and 1 deletions
|
@ -1141,7 +1141,14 @@ static void psmouse_cleanup(struct serio *serio)
|
||||||
psmouse_deactivate(parent);
|
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)
|
if (psmouse->cleanup)
|
||||||
psmouse->cleanup(psmouse);
|
psmouse->cleanup(psmouse);
|
||||||
|
|
Loading…
Reference in a new issue