Revision 2cae4119 hw/usb/hcd-xhci.c
b/hw/usb/hcd-xhci.c | ||
---|---|---|
662 | 662 |
|
663 | 663 |
static void xhci_intr_raise(XHCIState *xhci) |
664 | 664 |
{ |
665 |
if (!(xhci->iman & IMAN_IP) || |
|
666 |
!(xhci->iman & IMAN_IE)) { |
|
665 |
xhci->erdp_low |= ERDP_EHB; |
|
666 |
xhci->iman |= IMAN_IP; |
|
667 |
xhci->usbsts |= USBSTS_EINT; |
|
668 |
|
|
669 |
if (!(xhci->iman & IMAN_IE)) { |
|
667 | 670 |
return; |
668 | 671 |
} |
669 | 672 |
|
... | ... | |
784 | 787 |
} |
785 | 788 |
|
786 | 789 |
if (do_irq) { |
787 |
xhci->erdp_low |= ERDP_EHB; |
|
788 |
xhci->iman |= IMAN_IP; |
|
789 |
xhci->usbsts |= USBSTS_EINT; |
|
790 | 790 |
xhci_intr_raise(xhci); |
791 | 791 |
} |
792 | 792 |
|
... | ... | |
847 | 847 |
xhci_write_event(xhci, event); |
848 | 848 |
} |
849 | 849 |
|
850 |
xhci->erdp_low |= ERDP_EHB; |
|
851 |
xhci->iman |= IMAN_IP; |
|
852 |
xhci->usbsts |= USBSTS_EINT; |
|
853 |
|
|
854 | 850 |
xhci_intr_raise(xhci); |
855 | 851 |
} |
856 | 852 |
|
Also available in: Unified diff