Hi, On Mon, Mar 10, 2008 at 01:01:37PM +0100, Pavel Machek wrote: > Hi! > > > > There is a bug in sermouse driver that inputattach program terminates > > > during suspend (or resume) to ram hence mouse does not work afer resume. > > > When i execute inputattach after resume, the mouse is working. > > > > I know that Pavel (added to CC) knows where the problem is (improper fake > > signal handling around try_to_freeze() call), I guess he'd be able to > > provide a patch to test. > > I don't have a patch ready, but I believe we localized the problem to > serport_ldisc_read(). > > wait_event_interruptible(serport->wait, > +test_bit(SERPORT_DEAD,&serport->flags)); > > It does interruptible wait, but does not expect signals. We tried > something like: > > do { > wait_event_interruptible(serport->wait, test_bit(SERPORT_DEAD,&serport->flags)); > } while (try_to_freeze()); > > ...but that did not help IIRC. I think the current behavior is correct one. The device 99% of the time needs to be re-initialized after suspend to ram so returning from read is sane thing to do, this allows us to singnal userspace that device needs attention. As far as userspace goes we could either try to get inputattach reinitialize device or just make sure that inputattach is called again from resume scripts. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html