mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2026-01-15 14:44:09 +00:00
The thread function usb_dev_sys_thread is the source of libusb events, which is also the basis of USB/xHCI emulation. During S3 process, function libusb_handle_events_timeout may fail and return -1, which could result of exit of the thread (BTW, this failure is resulted from USB native reseting behavior during S3). Under this situation, the emulation of USB/xHCI could never continue. This patch fix this issue by continuing to call libusb_handle_events_timeout even it reture -1. The return value will be finally ok after S3 process is completed. This patch will continue poll after failure and hence fix this issue. Tracked-On: #1893 Signed-off-by: Xiaoguang Wu <xiaoguang.wu@intel.com> Reviewed-by: Liang Yang <liang3.yang@intel.com> Acked-by: Yu Wang <yu1.wang@intel.com>
ACRN Device Model ################# Introduction ============ The ACRN Device Model provides **device sharing** capabilities between the Service OS and Guest OSs. It is a component that is used in conjunction with the `ACRN Hypervisor`_ and this is installed within the Service OS. You can find out more about Project ACRN on the `Project ACRN documentation`_ website. .. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor .. _`Project ACRN documentation`: https://projectacrn.github.io/