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: <1239278795.7235.8.camel@maxim-laptop>
Date:	Thu, 09 Apr 2009 15:06:35 +0300
From:	Maxim Levitsky <maximlevitsky@...il.com>
To:	"Rafael J. Wysocki" <rjw@...k.pl>
Cc:	Alan Stern <stern@...land.harvard.edu>,
	linux-kernel <linux-kernel@...r.kernel.org>,
	linux-usb <linux-usb@...r.kernel.org>
Subject: Re: [BISECTED] [REGRESSION] can't anymore even do a
 s2ram-s2disk-s2ram cycle on acer aspire 5720G

On Tue, 2009-04-07 at 17:24 +0200, Rafael J. Wysocki wrote:
> On Tuesday 07 April 2009, Maxim Levitsky wrote:
> > Hi,
> 
> Hi,
> 
> > This is first time, I am actually happy about a regression....
> > 
> > I have a notebook, aspire 5720G that fails to do two suspends to ram in
> > row.
> > 
> > for example I can do s2ram->s2disk->s2ram->...
> > but can't s2ram->s2ram.
> > 
> > Well that at least was the situation till now.
> > Also there is no way to debug this - bios doesn't pass control back to
> > linux on failed resume. I tried probably every guess I could come with.
> > 
> > Now, after a commit a0d4922da2e4ccb0973095d8d29f36f6b1b5f703 which I
> > finally bisected, I can't anymore do two suspends to ram at all,
> > regardless of suspend to disk in between. Also bios doesn't pass control
> > when resume fails.
> 
> I wonder what happens if the in-between s2disk is in the "shutdown" mode.
> Theoretically, it should work as a cold boot, so the second s2ram should work
> in this case.
> 
> > I actually did 3 bisects, as I had to find fixes to 2 more s2ram bugs
> > that were fixed.
> > the fixes are:
> > 
> > a0e280e0f33f6c859a235fb69a875ed8f3420388
> > 1e70c7f7a9d4a3d2cc78b40e1d7768d99cd79899
> 
> Commit a0d4922da2e4ccb0973095d8d29f36f6b1b5f703 has been modified quite a bit
> by some later commits due to regressions it introduced.
> 
> > Now, why I am happy about this:
> > It seems that a suspend cycle changes something that explodes on next
> > resume. a s2disk cycle cleared this, but not anymore, thus the poison
> > must be somehow connected to the
> > a0d4922da2e4ccb0973095d8d29f36f6b1b5f703
> 
> Hint: it would be a lot easier to read the message if you included the subjects
> of the commits too. :-)
> 
Sure, sorry ;-)

> > PCI state?? I tried restoring it from saved file, (created on suspend)
> > but this didn't help.
> > (Only a single register, which looks like a clear or write register
> > changed).
> > 
> > 
> > Also this commits narrows down the search, now it is clear that this is
> > usb related. No wonder bios pokes at usb on resume and stalls.....
> > 
> > 
> > It could even be connected to bios handoff, maybe we don't do that on
> > resume?
> > 
> > (Note: this regression is present all way to latest -git)
> 
> I'm not sure if we really should consider this as a regression.  s2ram clearly
> didn't work correctly on your machine before and the s2disk in between
> is not really relevant here IMO.
Yet, this allowed me at least lalf the time to do s2ram.
s2disk eats battery, if I suspend the system for short time


> 
> > What do you think?
> 
> Well, not much apart from the observation that the problem with s2ram on your
> machine is probably related to USB.  In fact, on Intel chipsets there seem to
> be some strange links between the USB controllers (most notably EHCI) and
> the core chipset that don't appear to be well documented and this may be the
> case in which they show up.  Dunno.

Sorry for late reply,

I now semi-bisected, the change inside this patch.

First, UHCI doesn't affect anything.

Then, if I move 'late' suspend functions inside normal ones, everything
returns works like it used to be (I need to retest this statement, I did
other changes too).


Also, I got a idea about, think about this:
my notebook has a webcam, a usb UVC webcam.

Fact that it has firmware, can't be argued, it has to be true.
Suppose its firmware is stored in bios?
In this case, bios would load it on resume from ram, thus it will need
fully functional ehci controller.
We do something wrong, or more correctly, bios has some wrong
assumptions (read assume windows driver) about ehci state.


Best regards,
	Maxim Levitsky


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