Changeset 6f122df in mainline
- Timestamp:
- 2011-04-22T21:25:19Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 77d10f0
- Parents:
- 9bff1ea
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci-hcd/hc.c
r9bff1ea r6f122df 330 330 { 331 331 assert(instance); 332 // status |= 1; //Uncomment to work around qemu hang333 332 /* Lower 2 bits are transaction error and transaction complete */ 334 333 if (status & (UHCI_STATUS_INTERRUPT | UHCI_STATUS_ERROR_INTERRUPT)) { … … 380 379 { 381 380 usb_log_debug("Started interrupt emulator.\n"); 382 hc_t *instance = (hc_t*)arg;381 hc_t *instance = arg; 383 382 assert(instance); 384 383 385 384 while (1) { 386 /* Read dand clear status register */385 /* Read and clear status register */ 387 386 uint16_t status = pio_read_16(&instance->registers->usbsts); 388 387 pio_write_16(&instance->registers->usbsts, status); 389 388 if (status != 0) 390 389 usb_log_debug2("UHCI status: %x.\n", status); 390 // Qemu fails to report stalled communication 391 // see https://bugs.launchpad.net/qemu/+bug/757654 392 // This is a simple workaround to force queue processing every time 393 // status |= 1; 391 394 hc_interrupt(instance, status); 392 395 async_usleep(UHCI_INT_EMULATOR_TIMEOUT); … … 402 405 int hc_debug_checker(void *arg) 403 406 { 404 hc_t *instance = (hc_t*)arg;407 hc_t *instance = arg; 405 408 assert(instance); 406 409
Note:
See TracChangeset
for help on using the changeset viewer.