diff options
author | Alan Stern <stern@rowland.harvard.edu> | 2012-10-31 13:09:07 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-10-31 15:48:07 -0400 |
commit | 571e41214e988bc38c99d804e6d8e1ea1d016342 (patch) | |
tree | c315586964c078a72d4dfd18c966ca4514eedc8f /drivers | |
parent | bcbec053d2197031d04b8e040c61695b5d7a949d (diff) |
USB: remove iteration limit in hub_tt_work()
This patch (as1621) removes the limit on the number of loops allowed
in hub_tt_work(). The value is arbitrary, and it's silly to have a
limit in the first place -- anything beyond the limit would not get
handled.
Besides, it's most unlikely that we'll ever need to clear more than a
couple of TT buffers at any time.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/core/hub.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index fbaf3c3dbf07..90accdefdc7d 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c | |||
@@ -741,7 +741,6 @@ static void hub_tt_work(struct work_struct *work) | |||
741 | struct usb_hub *hub = | 741 | struct usb_hub *hub = |
742 | container_of(work, struct usb_hub, tt.clear_work); | 742 | container_of(work, struct usb_hub, tt.clear_work); |
743 | unsigned long flags; | 743 | unsigned long flags; |
744 | int limit = 100; | ||
745 | 744 | ||
746 | spin_lock_irqsave (&hub->tt.lock, flags); | 745 | spin_lock_irqsave (&hub->tt.lock, flags); |
747 | while (!list_empty(&hub->tt.clear_list)) { | 746 | while (!list_empty(&hub->tt.clear_list)) { |
@@ -751,9 +750,6 @@ static void hub_tt_work(struct work_struct *work) | |||
751 | const struct hc_driver *drv; | 750 | const struct hc_driver *drv; |
752 | int status; | 751 | int status; |
753 | 752 | ||
754 | if (!hub->quiescing && --limit < 0) | ||
755 | break; | ||
756 | |||
757 | next = hub->tt.clear_list.next; | 753 | next = hub->tt.clear_list.next; |
758 | clear = list_entry (next, struct usb_tt_clear, clear_list); | 754 | clear = list_entry (next, struct usb_tt_clear, clear_list); |
759 | list_del (&clear->clear_list); | 755 | list_del (&clear->clear_list); |