The current endpoint reset logic defers the reset until the caller attempts to enqueue a new transfer to that endpoint. This is insufficient when dealing with endpoints behind a transaction translator, since the transaction translator is a resource shared between multiple endpoints. We cannot reset the endpoint as part of the completion handling, since that would introduce recursive calls to usb_poll(). Instead, we add the endpoint to a list of halted endpoints, and perform the reset on the next call to usb_step(). Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
296 |
|
296 |
|
297 |
|
297 |
|
298 |
|
298 |
|
299 |
|
|
|
300 |
|
|
|
301 |
|
|
|
|
299 |
|
|
302 |
|
300 |
|
303 |
|
301 |
|
304 |
|
302 |
|
|
|
||
342 |
|
340 |
|
343 |
|
341 |
|
344 |
|
342 |
|
|
343 |
|
|
345 |
|
344 |
|
346 |
|
345 |
|
347 |
|
346 |
|
|
|
||
359 |
|
358 |
|
360 |
|
359 |
|
361 |
|
360 |
|
|
361 |
|
|
|
362 |
|
|
|
363 |
|
|
362 |
|
364 |
|
363 |
|
365 |
|
364 |
|
366 |
|
|
|
||
379 |
|
381 |
|
380 |
|
382 |
|
381 |
|
383 |
|
382 |
|
|
|
383 |
|
|
|
|
384 |
|
|
|
385 |
|
|
|
386 |
|
|
384 |
|
387 |
|
385 |
|
388 |
|
386 |
|
389 |
|
|
|
||
434 |
|
437 |
|
435 |
|
438 |
|
436 |
|
439 |
|
437 |
|
|
|
|
440 |
|
|
|
441 |
|
|
438 |
|
442 |
|
439 |
|
443 |
|
440 |
|
444 |
|
|
|
||
480 |
|
484 |
|
481 |
|
485 |
|
482 |
|
486 |
|
483 |
|
|
|
|
487 |
|
|
|
488 |
|
|
484 |
|
489 |
|
485 |
|
490 |
|
486 |
|
491 |
|
|
|
||
507 |
|
512 |
|
508 |
|
513 |
|
509 |
|
514 |
|
|
515 |
|
|
510 |
|
516 |
|
511 |
|
517 |
|
512 |
|
518 |
|
513 |
|
519 |
|
514 |
|
520 |
|
515 |
|
|
|
516 |
|
|
|
|
521 |
|
|
517 |
|
522 |
|
518 |
|
523 |
|
519 |
|
524 |
|
520 |
|
525 |
|
|
526 |
|
|
|
527 |
|
|
521 |
|
528 |
|
522 |
|
529 |
|
523 |
|
530 |
|
|
|
||
642 |
|
649 |
|
643 |
|
650 |
|
644 |
|
651 |
|
|
652 |
|
|
|
653 |
|
|
|
654 |
|
|
|
655 |
|
|
|
656 |
|
|
|
657 |
|
|
645 |
|
658 |
|
646 |
|
659 |
|
647 |
|
660 |
|
|
|
||
652 |
|
665 |
|
653 |
|
666 |
|
654 |
|
667 |
|
|
668 |
|
|
655 |
|
669 |
|
656 |
|
|
|
|
670 |
|
|
|
671 |
|
|
|
672 |
|
|
657 |
|
673 |
|
658 |
|
674 |
|
659 |
|
675 |
|
660 |
|
|
|
661 |
|
|
|
662 |
|
676 |
|
663 |
|
677 |
|
664 |
|
678 |
|
|
|
||
686 |
|
700 |
|
687 |
|
701 |
|
688 |
|
702 |
|
|
703 |
|
|
689 |
|
704 |
|
690 |
|
705 |
|
691 |
|
706 |
|
692 |
|
707 |
|
693 |
|
708 |
|
694 |
|
709 |
|
695 |
|
|
|
|
710 |
|
|
696 |
|
711 |
|
697 |
|
712 |
|
698 |
|
713 |
|
699 |
|
714 |
|
|
715 |
|
|
700 |
|
716 |
|
701 |
|
717 |
|
702 |
|
718 |
|
|
|
||
722 |
|
738 |
|
723 |
|
739 |
|
724 |
|
740 |
|
|
741 |
|
|
|
742 |
|
|
|
743 |
|
|
|
744 |
|
|
|
745 |
|
|
725 |
|
746 |
|
726 |
|
747 |
|
727 |
|
|
|
728 |
|
|
|
|
748 |
|
|
|
749 |
|
|
729 |
|
750 |
|
730 |
|
751 |
|
731 |
|
752 |
|
732 |
|
753 |
|
733 |
|
754 |
|
734 |
|
755 |
|
|
756 |
|
|
|
757 |
|
|
|
758 |
|
|
|
759 |
|
|
|
760 |
|
|
|
761 |
|
|
735 |
|
762 |
|
736 |
|
763 |
|
737 |
|
764 |
|
|
|
||
740 |
|
767 |
|
741 |
|
768 |
|
742 |
|
769 |
|
743 |
|
|
|
744 |
|
|
|
745 |
|
|
|
746 |
|
|
|
747 |
|
770 |
|
748 |
|
771 |
|
749 |
|
772 |
|
|
|
||
1549 |
|
1572 |
|
1550 |
|
1573 |
|
1551 |
|
1574 |
|
1552 |
|
|
|
1553 |
|
|
|
|
1575 |
|
|
|
1576 |
|
|
1554 |
|
1577 |
|
1555 |
|
1578 |
|
1556 |
|
1579 |
|
|
|
||
1559 |
|
1582 |
|
1560 |
|
1583 |
|
1561 |
|
1584 |
|
|
1585 |
|
|
1562 |
|
1586 |
|
1563 |
|
1587 |
|
1564 |
|
1588 |
|
1565 |
|
1589 |
|
1566 |
|
1590 |
|
|
1591 |
|
|
|
1592 |
|
|
|
1593 |
|
|
|
1594 |
|
|
|
1595 |
|
|
|
1596 |
|
|
|
1597 |
|
|
|
1598 |
|
|
|
1599 |
|
|
|
1600 |
|
|
1567 |
|
1601 |
|
1568 |
|
1602 |
|
1569 |
|
1603 |
|
1570 |
|
1604 |
|
1571 |
|
1605 |
|
1572 |
|
1606 |
|
1573 |
|
|
|
|
1607 |
|
|
|
1608 |
|
|
1574 |
|
1609 |
|
1575 |
|
1610 |
|
1576 |
|
1611 |
|
1577 |
|
|
|
1578 |
|
|
|
|
1612 |
|
|
|
1613 |
|
|
1579 |
|
1614 |
|
1580 |
|
1615 |
|
1581 |
|
1616 |
|
|
|
||
1628 |
|
1663 |
|
1629 |
|
1664 |
|
1630 |
|
1665 |
|
1631 |
|
|
|
|
1666 |
|
|
1632 |
|
1667 |
|
1633 |
|
1668 |
|
1634 |
|
1669 |
|
|
|
||
1702 |
|
1737 |
|
1703 |
|
1738 |
|
1704 |
|
1739 |
|
1705 |
|
|
|
1706 |
|
|
|
|
1740 |
|
|
|
1741 |
|
|
1707 |
|
1742 |
|
1708 |
|
1743 |
|
1709 |
|
1744 |
|
|
|
||
1724 |
|
1759 |
|
1725 |
|
1760 |
|
1726 |
|
1761 |
|
1727 |
|
|
|
|
1762 |
|
|
1728 |
|
1763 |
|
1729 |
|
1764 |
|
1730 |
|
1765 |
|
|
|
||
1762 |
|
1797 |
|
1763 |
|
1798 |
|
1764 |
|
1799 |
|
|
1800 |
|
|
1765 |
|
1801 |
|
1766 |
|
1802 |
|
1767 |
|
1803 |
|
|
|
||
380 |
|
380 |
|
381 |
|
381 |
|
382 |
|
382 |
|
383 |
|
|
|
384 |
|
|
|
385 |
|
383 |
|
386 |
|
384 |
|
387 |
|
385 |
|
|
386 |
|
|
|
387 |
|
|
|
388 |
|
|
388 |
|
389 |
|
389 |
|
390 |
|
390 |
|
391 |
|
|
|
||
754 |
|
755 |
|
755 |
|
756 |
|
756 |
|
757 |
|
757 |
|
|
|
|
758 |
|
|
758 |
|
759 |
|
759 |
|
760 |
|
760 |
|
761 |
|
|
|
||
888 |
|
889 |
|
889 |
|
890 |
|
890 |
|
891 |
|
|
892 |
|
|
|
893 |
|
|
891 |
|
894 |
|
892 |
|
895 |
|
893 |
|
896 |
|