Changes in uspace/drv/uhci-hcd/uhci.c [0db3ad6:71b6e92] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci-hcd/uhci.c
r0db3ad6 r71b6e92 372 372 assert(instance); 373 373 /* TODO: Check interrupt cause here */ 374 /* Lower 2 bits are transaction error and transaction complete */ 375 if (status & 0x3) { 376 transfer_list_remove_finished(&instance->transfers_interrupt); 377 transfer_list_remove_finished(&instance->transfers_control_slow); 378 transfer_list_remove_finished(&instance->transfers_control_full); 379 transfer_list_remove_finished(&instance->transfers_bulk_full); 380 } 374 transfer_list_remove_finished(&instance->transfers_interrupt); 375 transfer_list_remove_finished(&instance->transfers_control_slow); 376 transfer_list_remove_finished(&instance->transfers_control_full); 377 transfer_list_remove_finished(&instance->transfers_bulk_full); 381 378 } 382 379 /*----------------------------------------------------------------------------*/ … … 393 390 394 391 while (1) { 395 /* read and ack interrupts */396 392 uint16_t status = pio_read_16(&instance->registers->usbsts); 397 pio_write_16(&instance->registers->usbsts, 0x1f);398 393 if (status != 0) 399 394 usb_log_debug2("UHCI status: %x.\n", status); 395 status |= 1; 400 396 uhci_interrupt(instance, status); 397 pio_write_16(&instance->registers->usbsts, 0x1f); 401 398 async_usleep(UHCI_CLEANER_TIMEOUT); 402 399 }
Note:
See TracChangeset
for help on using the changeset viewer.