USB: ehci-dbgp,ehci: Allow dbpg to work with suspend/resume
authorJason Wessel <jason.wessel@windriver.com>
Thu, 20 Aug 2009 20:39:58 +0000 (15:39 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Sep 2009 13:46:39 +0000 (06:46 -0700)
In order for the dbgp driver to survive suspend/resume, on every ehci
resume operation the debug controller must get re-initialized.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: dbrownell@users.sourceforge.net
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-hub.c

index 6b5e4d1..1b6f1c0 100644 (file)
@@ -235,6 +235,13 @@ static int ehci_bus_resume (struct usb_hcd *hcd)
                return -ESHUTDOWN;
        }
 
+       if (unlikely(ehci->debug)) {
+               if (ehci->debug && !dbgp_reset_prep())
+                       ehci->debug = NULL;
+               else
+                       dbgp_external_startup();
+       }
+
        /* Ideally and we've got a real resume here, and no port's power
         * was lost.  (For PCI, that means Vaux was maintained.)  But we
         * could instead be restoring a swsusp snapshot -- so that BIOS was