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
 Michael Brown
						
						10 years ago
							Michael Brown
						
						10 years ago
					|  |  | ||
| 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 |  |