lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200906011836.15507.rjw@sisk.pl>
Date:	Mon, 1 Jun 2009 18:36:14 +0200
From:	"Rafael J. Wysocki" <rjw@...k.pl>
To:	Jan Scholz <scholz@...s.uni-frankfurt.de>
Cc:	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	Paul Mackerras <paulus@...ba.org>, Ingo Molnar <mingo@...e.hu>,
	linux-kernel@...r.kernel.org, Adrian Bunk <bunk@...nel.org>,
	pm list <linux-pm@...ts.linux-foundation.org>
Subject: Re: [regression, bisected] adb trackpad disappears after suspend to ram

On Monday 01 June 2009, Jan Scholz wrote:
> "Rafael J. Wysocki" <rjw@...k.pl> writes:
> 
> > On Friday 29 May 2009, Jan Scholz wrote:
> >> Benjamin Herrenschmidt <benh@...nel.crashing.org> writes:
> >> 
> >> >> We are too late in the cycle to revert this commit and it really is needed to
> >> >> fix a more serious issue.  Nevertheless knowing that it caused the problem to
> >> >> appear on your system is also important.
> >> >> 
> >> >> Ben, do you have an idea what may be going on here?  Does __disable_irq() mask
> >> >> the interrupt on this platform?
> >> >
> >> > I suppose so :-) I'll have to check what's going on, it's not
> >> > immediately clear to me.
> >> >
> >> > Cheers,
> >> > Ben.
> >> >
> >> >> 
> >> >> I'd like to see a boot log, preferably containing a suspend-resume in which
> >> >> the problem was reproduced.
> >> 
> >> Here is a log from booting, through several suspend cycles, until the
> >> trackpad disappeared. The first few suspends were done while X was
> >> running but from the console. As you can tell from lines like
> >>    May 28 23:51:26 [kernel] adb devices: [2]: 2 c4 [3]: 3 1 [7]: 7 1f
> >> the trackpad was still present. The last suspend was done from within X,
> >> here the trackpad did not make it.
> >>    May 28 23:58:09 [kernel] adb devices: [2]: 2 c4 [7]: 7 1f
> >> However, there have been cases, although not in this log, were the
> >> trackpad has been alive even when suspending from within X.
> >
> > This means the problem is probably timing-related.
> >
> > Can you please try to comment out suspend_device_irqs() and
> > resume_device_irqs()  in drivers/base/power/main.c and see if that changes
> > anything?  It's not entirely safe (well, that's why the calls are there after
> > all), but hopefully the box won't hang during this test.
> >
> 
> Tried that against v2.6.30-rc7 and it seems to fix the issue. I did ~10
> suspend-resume cycles from the console (which worked just like before)
> and ~20 cycles from within X and the trackpad is still alive.

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.

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ