USB: ehci: add call of free_cached_itd_list() function in disable_periodic()
authorDmitri Epshtein <dima@marvell.com>
Mon, 14 Dec 2009 15:17:33 +0000 (17:17 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 2 Mar 2010 22:53:13 +0000 (14:53 -0800)
Sometimes disable_periodic() stop scan_periodic before than free_cached_itd_list() was called.
In such case USB Host stacked during disconnect operation
Solution: add call of free_cached_itd_list() function in disable_periodic()

Signed-off-by: Dimitry Epshtein <dima@marvell.com>
Signed-off-by: Saeed Bishara <saeed@marvell.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-sched.c

index 1e391e624c8affee6e58d699de953df4bcaa857a..e7a3b087083fb1a0e9174a68e3d1394f65fd2a8e 100644 (file)
@@ -510,6 +510,8 @@ static int disable_periodic (struct ehci_hcd *ehci)
        ehci_writel(ehci, cmd, &ehci->regs->command);
        /* posted write ... */
 
+       free_cached_itd_list(ehci);
+
        ehci->next_uframe = -1;
        return 0;
 }