Re: [REGRESSION 3.14-rc6] Samsung N150 lid does not "open" after suspend to RAM.

Kieran Clancy
2014-03-26T14:39:29Z

On Wed, Mar 26, 2014 at 9:12 PM, Stefan Biereigel <stefan@biereigel.de> wrote:
>
> I don't know if it is a valid idea, but maybe it would be ok to process
> events after resume in general, and only throw away events on those
> platforms that continue to log events while in standby (Samsung 5/7/9)?

We can give it a shot!

It may even be that on Samsung 5/7/9 there is no harm in processing
the events instead of discarding them.

Here's a patch that we can try for that:

http://kieranclancy.com/tmp/2014/03/ec_clear_process.patch

I'm going to have to clear up some hard drive space before I can
compile a kernel with it (curse this tiny SSD), but if anyone else
wants to give it a shot please feel free.

One thing I am still trying to think about is that Stefan's system
must be about to check and process this EC event anyway, but we
discard it first. I wonder if there is some difference in state (e.g.
EC status bits) here that we might detect.

Failing all that, it might be easier to just whitelist this product
rather than try to find every series 5/7/9/?/... Samsung product name.
Something like this:

http://kieranclancy.com/tmp/2014/03/ec_clear_exclude_N150P.patch (not
intended for use with other patch, they are mutually exclusive
approaches)

> But after all, it would be better to find the command to tell the EC to
> stop recording events and issue that before going to sleep. Is there any
> way to find that command (for example on Windows)? Maybe that one is so
> generic that we can issue it to all ECs, regardless of if it would
> continue to log events during sleep.

It would be great to know what Windows does here, but even then we
still need to be able to clear a jammed EC. You can still find posts
around the internet where Windows users who've never touched Linux
have these same kind of problems with their Samsung laptops. My guess
is it only takes one blue screen of death or something where the EC
isn't shut down properly, the EC fills up and then it's more or less a
permanent state until the EC is cleared manually.

Thanks again for your testing, Stefan.

Kieran.