lkml.org 
[lkml]   [2008]   [Jan]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [alsa-devel] PNP_DRIVER_RES_DISABLE breaks swsusp at least with snd_cs4236
On 12-01-08 12:12, Pierre Ossman wrote:

> On Sat, 12 Jan 2008 02:23:27 +0100
> Rene Herman <rene.herman@keyaccess.nl> wrote:
>
>> Pavel, Rafael -- the attached fixes snd-cs4236 not coming back to life for
>> Ondrej after hibernation due to the PNP_DRIVER_RES_DO_NOT_CHANGE test
>> triggering in pnp_bus_resume() and keeping the card in a suspended state.
>>
>
> I'm a bit confused here. Bjorn Helgaas wanted to remove the pnp_start/stop_dev() calls completely, and you want them called all the time. :)

Wanted where? Haven't seen a coment from Bjorn? But -- while removing them
both looks (as) sensible from a mirror-image viewpoint, this wouldn't fix
the problem.

As fas as I understand things, "hibernation" is basically "save state, shut
down machine" where the latter step is going to disable the card inevitably.
On resume, you're going to need to restore the resources (that were saved in
pnp_dev->res) that it was using to the card, which is what pnp_start_dev()
does -- it not being called is the current problem of the card not coming
back to life.

pnp_stop_dev() could go in this specific situation. Not much point in first
disabling the thing it seems if a subsequent shutdown is going to take care
of that anyway. However, suspend/resume isn't just called in the case of
complete hibernation I guess and I know nothing about it all -- hence my
request to the hiberhation people for how this is designed to be.

But we certainly need the pnp_start_dev() in the current flow of things. It
not being called is the problem this fixes...

Rene.


\
 
 \ /
  Last update: 2008-01-12 14:45    [W:0.069 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site