diff options
author | Dmitri Epshtein <dima@marvell.com> | 2009-12-14 17:17:33 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-03-02 14:53:13 -0800 |
commit | d63c66d2d08f52487f3ef32f1c9b1231d848966b (patch) | |
tree | a4aa3889c5b655924b1c310e09c874b0231d7d49 /drivers/usb/host/ehci-sched.c | |
parent | a5f0efaba4c2b644e6248648f75b0a8a522359f6 (diff) | |
download | blackbird-op-linux-d63c66d2d08f52487f3ef32f1c9b1231d848966b.tar.gz blackbird-op-linux-d63c66d2d08f52487f3ef32f1c9b1231d848966b.zip |
USB: ehci: add call of free_cached_itd_list() function in disable_periodic()
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>
Diffstat (limited to 'drivers/usb/host/ehci-sched.c')
-rw-r--r-- | drivers/usb/host/ehci-sched.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c index 1e391e624c8a..e7a3b087083f 100644 --- a/drivers/usb/host/ehci-sched.c +++ b/drivers/usb/host/ehci-sched.c @@ -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; } |