Re: pcim_enable_device BUGs for libata devices in 2.6.20-git6

Tejun Heo
2007-02-13T15:30:18Z

Hello, Pavel.

Pavel Machek wrote:
>> 1. Don't restore power state and re-enable PCI device on resume from
>> freeze just as we don't do the opposite when freezing.
>>
>> 2. Unconditionally disable and power down PCI device on suspend whether
>> it's freeze or not.
>>
>> #2 would be simpler but I'm a bit worried about it. There might be
>> controllers which choke after such sequence (save state, disable, power
>> down, no actual power removal, power on, restore state, re-enable).
>
> I'd just go for #2.

I think I've been seeing too many weird ATA controller issues to be bold
about this. I'll chicken out and go for #1. :-)

>> #1 can be easily done by taking a look at the current device power state
>> (gendev->power.power_state). The problem is that no one in
>> suspend/resume path seems to be setting that variable except for
>> runtime
>
> No, that variable is probably going to go away. If you want to
> remember that you are resuming from freeze, just store that info in
> private data structure.

I see. Thanks.

--
tejun