From: arief_mulya I just want to share a little change that I've did to psmouse_pm_callback() which without this, my synaptics touchpad would prevent my laptop (IBM Thinkpad T30) from suspending. drivers/input/mouse/psmouse-base.c | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff -puN drivers/input/mouse/psmouse-base.c~serio-pm-fix drivers/input/mouse/psmouse-base.c --- 25/drivers/input/mouse/psmouse-base.c~serio-pm-fix 2003-11-09 20:12:27.000000000 -0800 +++ 25-akpm/drivers/input/mouse/psmouse-base.c 2003-11-09 20:12:27.000000000 -0800 @@ -533,9 +533,10 @@ static int psmouse_pm_callback(struct pm { struct psmouse *psmouse = dev->data; - psmouse->state = PSMOUSE_IGNORE; - serio_reconnect(psmouse->serio); - + if (request == PM_RESUME) { + psmouse->state = PSMOUSE_IGNORE; + serio_reconnect(psmouse->serio); + } return 0; } _