Commit 132dcf6
usb: xhci: remove infinite loop prevention
If a buggy HW reports some unpredicted event (for example, an overrun event
following a MSE event while the EP ring is actually not empty), the driver
will never find the TD, and it will loop until the TD list is empty.
Before commits [1][2], the spin lock was released when giving back a URB in
the do-while loop. This could cause more TD to be added to TD list, causing
an infinite loop.
Because of commits [1][2] the spin lock is not released any more, thus the
infinite loop prevention is unnecessary and is removed.
[1], commit 0c03d89 ("xhci: Giveback urb in finish_td directly")
[2], commit 36dc016 ("usb: host: xhci: Support running urb giveback in
tasklet context")
Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20240626124835.1023046-18-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>1 parent 5ea8a88 commit 132dcf6
1 file changed
Lines changed: 0 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2611 | 2611 | | |
2612 | 2612 | | |
2613 | 2613 | | |
2614 | | - | |
2615 | 2614 | | |
2616 | 2615 | | |
2617 | 2616 | | |
| |||
2637 | 2636 | | |
2638 | 2637 | | |
2639 | 2638 | | |
2640 | | - | |
2641 | | - | |
2642 | | - | |
2643 | | - | |
2644 | 2639 | | |
2645 | 2640 | | |
2646 | 2641 | | |
| |||
2799 | 2794 | | |
2800 | 2795 | | |
2801 | 2796 | | |
2802 | | - | |
2803 | | - | |
2804 | | - | |
2805 | | - | |
2806 | | - | |
2807 | | - | |
2808 | | - | |
2809 | | - | |
2810 | 2797 | | |
2811 | 2798 | | |
2812 | | - | |
2813 | | - | |
2814 | 2799 | | |
2815 | 2800 | | |
2816 | 2801 | | |
| |||
0 commit comments