Re: [regression, bisected] adb trackpad disappears after suspend to ram

Benjamin Herrenschmidt
2009-06-02T04:50:59Z

> So, it seems we lose and interrupt during resume and that confuses the
> ADB controller driver or something like this. Do you use the keyboard or
> the trackpad as a wake-up device?
>
> Please additionally try to go back to the original code, put
> 'sleepy_trackpad = 1' at the beginning of do_adb_reset_bus() in
> drivers/macintosh/adb.c and see if the problem is reproducible with that.

Well, the ADB controller is also the PMU (drivers/macintosh/via-pmu.c)
which is also the system controller, handles the actual sleep state,
etc... :-)

That code is a bit itchy around the edges. I'm not sure it would have
lost an interrupt, that sounds more like losing an IRQ would have broken
it completely but it's not -impossible- (especially if it's the external
GPIO or CB1 interrupt that notifies of an incoming ADB message).

I haven't managed to reproduce the problem yet here though. I'll see if
I can with a titanium powerbook I have somewhere in storage that might
be a bit closer to your machine than the wallstreet powerbook I've been
using to test at work :-) My other powerbook test machine uses a USB
trackpad.

Cheers,
Ben.