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 |
|