summaryrefslogtreecommitdiff
path: root/drivers/input/mouse
diff options
context:
space:
mode:
authorVojtech Pavlik <vojtech@suse.cz>2004-03-08 16:32:00 +0100
committerVojtech Pavlik <vojtech@suse.cz>2004-03-08 16:32:00 +0100
commit176a60243ae659297a35722e3e15fd3af5adf355 (patch)
tree08eff683c13fa34e9cb4eda7fd3972e62c4317cf /drivers/input/mouse
parent54c1ae21bbab13dbdb2e213704074d1fef57d911 (diff)
input: Fix oops (NULL pointer dereference) on resume in psmouse.c,
when the mouse goes away while sleeping.
Diffstat (limited to 'drivers/input/mouse')
-rw-r--r--drivers/input/mouse/psmouse-base.c6
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) {