diff options
| author | Vojtech Pavlik <vojtech@suse.cz> | 2004-03-08 16:32:00 +0100 |
|---|---|---|
| committer | Vojtech Pavlik <vojtech@suse.cz> | 2004-03-08 16:32:00 +0100 |
| commit | 176a60243ae659297a35722e3e15fd3af5adf355 (patch) | |
| tree | 08eff683c13fa34e9cb4eda7fd3972e62c4317cf /drivers | |
| parent | 54c1ae21bbab13dbdb2e213704074d1fef57d911 (diff) | |
input: Fix oops (NULL pointer dereference) on resume in psmouse.c,
when the mouse goes away while sleeping.
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/input/mouse/psmouse-base.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index dd52a465a61c..d427f304f7fc 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c @@ -643,13 +643,15 @@ static int psmouse_reconnect(struct serio *serio) { struct psmouse *psmouse = serio->private; struct serio_dev *dev = serio->dev; - int old_type = psmouse->type; + int old_type; - if (!dev) { + if (!dev || !psmouse) { printk(KERN_DEBUG "psmouse: reconnect request, but serio is disconnected, ignoring...\n"); return -1; } + old_type = psmouse->type; + psmouse->state = PSMOUSE_NEW_DEVICE; psmouse->type = psmouse->acking = psmouse->cmdcnt = psmouse->pktcnt = 0; if (psmouse->reconnect) { |
