http://bugzilla.kernel.org/show_bug.cgi?id=12748





--- Comment #17 from Henrique de Moraes Holschuh <h...@hmh.eng.br>  2009-05-05 
02:20:38 ---
We shouldn't go turning ACPI power states to OFF if the BIOS handled the device
already turned ON (with the power source enabled as well).

Turning resources off when we are not sure they're unused is bound to cause
problems, it will disturb devices like boot-media on USB, etc.  It is a _VERY_
Bad Idea.

Instead, we should go over the entire list, attach all power resources
according to the *current* state of the device.  Lots of devices will _already_
be at D0 state, and we must attach the power resources to them before we start
turning them off.

We must not turn a power resource off until we can be sure that there are NO
devices using it.

So, we'd need something like my patch (but covering pnp as well), to attach the
resources to devices already in D0.

Then, we must find opportune times to do a scan and turn off any unattached
resources.  These are: when we disable any device, during suspend and resume,
and after we are sure we attached resources to every device already enabled
(even to those without drivers, as modules might be loaded later).

The above is not very difficult, but it is just half the job.

What is troublesome is the fact that we will never disable *all* devices we
enable (because there are buggy PCI crap that we cannot resurrect back to D0
when we place it in D3, etc).  And the current power resource code takes
pointers (in the linked lists) back to the devices.  We must change this,
because the modules must still be allowed to unload, and in that case, the
power resource must not still hold a reference to an area of memory that is now
invalid.

We will have to change the power resources to use reference counting or
something else.  Drivers that do not disable devices on unload will cause the
power resource to never turn off, but that's alright - the device is still on,
anyway.

-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to