diff options
| author | 2010-02-11 14:03:42 -0800 | |
|---|---|---|
| committer | 2010-02-11 14:03:42 -0800 | |
| commit | bbf8fc61791eabce7102e709041a0c4e6ee4a316 (patch) | |
| tree | 4c2dbcc2f1aa6feb1f37d2bac86480cfe014d4eb /drivers/input | |
| parent | Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 (diff) | |
| parent | Input: psmouse - make sure we don't schedule reconnects after cleanup (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: psmouse - make sure we don't schedule reconnects after cleanup
Diffstat (limited to 'drivers/input')
| -rw-r--r-- | drivers/input/mouse/psmouse-base.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index 9774bdfaa482..d8c0c8d6992c 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c @@ -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); |
