Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 317032
b: refs/heads/master
c: 361aabf
h: refs/heads/master
v: v3
  • Loading branch information
Alan Stern authored and Greg Kroah-Hartman committed Jul 16, 2012
1 parent 5c1e8dc commit 1611c70
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 32830f207691176234b4c4dd17f0d7ab6d87d94b
refs/heads/master: 361aabf395e4a23cf554cf4ec0c0c6963b8beb01
13 changes: 10 additions & 3 deletions trunk/drivers/usb/host/ehci-hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -400,14 +400,21 @@ static void ehci_work (struct ehci_hcd *ehci)
* it reports urb completions. this flag guards against bogus
* attempts at re-entrant schedule scanning.
*/
if (ehci->scanning)
if (ehci->scanning) {
ehci->need_rescan = true;
return;
ehci->scanning = 1;
}
ehci->scanning = true;

rescan:
ehci->need_rescan = false;
if (ehci->async_count)
scan_async(ehci);
if (ehci->next_uframe != -1)
scan_periodic (ehci);
ehci->scanning = 0;
if (ehci->need_rescan)
goto rescan;
ehci->scanning = false;

/* the IO watchdog guards against hardware or driver bugs that
* misplace IRQs, and should let us run completely without IRQs.
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/usb/host/ehci.h
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ struct ehci_hcd { /* one per controller */
enum ehci_rh_state rh_state;

/* general schedule support */
unsigned scanning:1;
bool scanning:1;
bool need_rescan:1;
bool intr_unlinking:1;
bool async_unlinking:1;

Expand Down

0 comments on commit 1611c70

Please sign in to comment.