On Sat, 2008-08-30 at 15:35 -0700, Steven King wrote:
> While 2.6.26 made my x61t work with the x6ultrabase, I find that once I have 
> docked the x61t, I can only resume after a suspend2ram if the x61t is docked. 
>  
> That is:
> 
> Never have been docked: suspend & resume works fine.
> Docked: suspend & resume works fine.
> Docked, undocked, re-docked: suspend & resume works fine.
> 
> Docked, then undocked: never finishes resuming (the disk seems to spin up and 
> the sleep led goes off, but the system doesnt seem to get any further).
> 
> Any suggestions?
> 
I have an acpidump of a X61, and it may also send notifications in _STA
method.
Please please try the following patch and see if it helps.
and it would be great if you can attach the acpidump of your laptop.

In some BIOSes, every _STA method call will send a notification again,
this cause freeze. And in some BIOSes, it appears _STA should be called
after _DCK. This tries to avoid calls _STA, and still keep the device
present check.
http://bugzilla.kernel.org/show_bug.cgi?id=10431

Signed-off-by: Shaohua Li <[EMAIL PROTECTED]> 
---
 drivers/acpi/dock.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Index: linux/drivers/acpi/dock.c
===================================================================
--- linux.orig/drivers/acpi/dock.c      2008-08-27 14:38:44.000000000 +0800
+++ linux/drivers/acpi/dock.c   2008-08-28 09:33:02.000000000 +0800
@@ -604,14 +604,17 @@ static int handle_eject_request(struct d
 static void dock_notify(acpi_handle handle, u32 event, void *data)
 {
        struct dock_station *ds = data;
+       struct acpi_device *tmp;
 
        switch (event) {
        case ACPI_NOTIFY_BUS_CHECK:
-               if (!dock_in_progress(ds) && dock_present(ds)) {
+               if (!dock_in_progress(ds) && acpi_bus_get_device(ds->handle,
+                  &tmp)) {
                        begin_dock(ds);
                        dock(ds);
                        if (!dock_present(ds)) {
                                printk(KERN_ERR PREFIX "Unable to dock!\n");
+                               complete_dock(ds);
                                break;
                        }
                        atomic_notifier_call_chain(&dock_notifier_list,


--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
ibm-acpi-devel mailing list
ibm-acpi-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel

Reply via email to