Alan Stern
a448c9d8c5
USB: EHCI: change deschedule logic for interrupt QHs
...
This patch (as1281) changes the way ehci-hcd deschedules interrupt
QHs, copying the approach used for async QHs. The caller is no longer
responsible for rescheduling the QH if its queue is non-empty; instead
the reschedule is done directly by intr_deschedule(), after calling
qh_completions(). This is exactly the same as how end_unlink_async()
works.
ehci_urb_dequeue() and intr_deschedule() now correctly handle the case
where they are called while another interrupt URB for the same QH is
being given back. This was a surprisingly large blind spot. And
scan_periodic() now respects the new needs_rescan flag.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu >
CC: David Brownell <david-b@pacbell.net >
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de >
2009-09-23 06:46:37 -07:00
..
2009-09-23 06:46:21 -07:00
2009-09-23 06:46:30 -07:00
2009-09-23 06:46:29 -07:00
2009-09-23 06:46:29 -07:00
2009-07-12 15:16:39 -07:00
2007-05-23 20:14:15 -07:00
2009-09-23 06:46:37 -07:00
2009-09-23 06:46:33 -07:00
2009-07-12 15:16:39 -07:00
2009-09-23 06:46:29 -07:00
2009-07-28 14:31:10 -07:00
2009-09-23 06:46:28 -07:00
2009-07-12 15:16:39 -07:00
2009-07-12 15:16:39 -07:00
2009-09-23 06:46:37 -07:00
2009-09-23 06:46:37 -07:00
2009-09-23 06:46:20 -07:00
2009-09-23 06:46:37 -07:00
2009-06-15 21:44:43 -07:00
2009-03-24 16:38:23 -07:00
2009-01-27 16:15:38 -08:00
2009-01-27 16:15:38 -08:00
2009-01-27 16:15:38 -08:00
2009-07-12 15:16:36 -07:00
2009-01-27 16:15:38 -08:00
2009-01-27 16:15:38 -08:00
2009-06-15 21:44:44 -07:00
2009-03-24 16:20:36 -07:00
2009-03-24 16:20:30 -07:00
2009-09-23 06:46:33 -07:00
2009-09-23 06:46:33 -07:00
2009-09-23 06:46:29 -07:00
2009-09-23 06:46:29 -07:00
2009-09-23 06:46:29 -07:00
2009-09-23 06:46:30 -07:00
2009-09-23 06:46:30 -07:00
2009-09-23 06:46:31 -07:00
2009-09-23 06:46:29 -07:00
2009-06-15 21:44:43 -07:00
2009-09-23 06:46:34 -07:00
2009-09-23 06:46:32 -07:00
2008-10-17 14:41:04 -07:00
2008-08-21 10:26:38 -07:00
2007-10-12 14:54:59 -07:00
2009-07-28 14:31:09 -07:00
2009-06-15 21:44:44 -07:00
2009-01-07 09:59:53 -08:00
2008-08-21 10:26:38 -07:00
2009-01-07 09:59:52 -08:00
2008-08-21 10:26:38 -07:00
2009-06-16 14:17:32 +10:00
2009-09-23 06:46:32 -07:00
2009-09-21 15:14:51 +02:00
2009-03-24 16:20:45 -07:00
2008-08-21 10:26:38 -07:00
2008-08-21 10:26:38 -07:00
2008-08-21 10:26:38 -07:00
2008-08-21 10:26:38 -07:00
2009-01-07 09:59:52 -08:00
2008-10-17 14:40:57 -07:00
2009-09-23 06:46:32 -07:00
2009-03-24 16:20:33 -07:00
2009-09-23 06:46:33 -07:00
2006-04-14 11:12:20 -07:00
2009-07-29 21:31:13 +09:00
2009-07-23 13:04:10 +09:00
2008-08-29 09:43:14 +02:00
2009-09-23 06:46:16 -07:00
2008-07-25 10:53:29 -07:00
2008-08-21 10:26:38 -07:00
2009-03-24 16:20:36 -07:00
2009-09-15 09:50:49 -07:00
2009-03-24 16:20:33 -07:00
2008-07-21 15:16:30 -07:00
2009-09-23 06:46:30 -07:00
2009-09-23 06:46:17 -07:00
2009-06-15 21:44:48 -07:00
2009-09-23 06:46:18 -07:00
2009-06-15 21:44:48 -07:00
2009-09-23 06:46:17 -07:00
2009-09-23 06:46:17 -07:00
2009-09-23 06:46:18 -07:00
2009-09-23 06:46:18 -07:00