Re: [PATCH?] psmouse-base.c

From: arief_mulya
Date: Mon Nov 10 2003 - 02:28:22 EST


Andrew Morton wrote:

Dmitry Torokhov <dtor_core@xxxxxxxxxxxxx> wrote:


On Sunday 09 November 2003 11:12 pm, Andrew Morton wrote:


arief_mulya <arief_m_utama@xxxxxxxxxxxxxxx> wrote:


static int psmouse_pm_callback(struct pm_dev *dev, pm_request_t
request, void *data)
{
struct psmouse *psmouse = dev->data;
struct serio_dev *ser_dev = psmouse->serio->dev;


switch (request) {
case PM_RESUME:
psmouse->state = PSMOUSE_IGNORE;
serio_rescan(psmouse->serio);
default:
return 0;
}
}


What does the driver do without this change? ie: what problem is this
fixing?

Why is it calling serio_rescan() rather than serio_reconnect()?



serio_reconnect() is only in your tree (-mm), it has not been pushed to
Linus yet... Unfortunately using rescan can cause input devices be shifted
if some program has them open while suspending.





Well, I don't know about this.
I was just trying to get my synaptics mouse working nicely through suspend-resume. And I haven't learn about linux kernel structure before, so I just spend all my sunshiny Sunday, researching everywhere with my lazy brain.

And finally, those (ugly?) patch come out ;-)

Ah, I see. So would you say that reconnect is the correct thing to use
here?

That would mean that the appropriate patch against -mm is

--- 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;
}


_



I guess I gotta try your tree now.

Those serio patches have been in -mm for six weeks btw. Was there some
problem with them?


I don't know. Has anybody tested it using an IBM T30 with Synaptics inside?

Best Regards.
--
arief_mulya

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/