Changes in uspace/drv/ohci/hc.c [aa9ccf7:c6fe469] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/ohci/hc.c

    raa9ccf7 rc6fe469  
    113113            ret, str_error(ret));
    114114        hc_init_hw(instance);
    115         fibril_mutex_initialize(&instance->guard);
    116115
    117116        rh_init(&instance->rh, dev, instance->registers);
     
    136135        }
    137136
    138         fibril_mutex_lock(&instance->guard);
    139137        switch (batch->transfer_type) {
    140138        case USB_TRANSFER_CONTROL:
     
    159157        case USB_TRANSFER_INTERRUPT:
    160158        case USB_TRANSFER_ISOCHRONOUS:
    161                 instance->registers->control &= (~C_PLE & ~C_IE);
     159                instance->registers->control &= ~C_PLE;
    162160                transfer_list_add_batch(
    163161                    instance->transfers[batch->transfer_type], batch);
    164                 instance->registers->control |= C_PLE | C_IE;
    165                 usb_log_debug2("Added periodic transfer: %x.\n",
    166                     instance->registers->periodic_current);
     162                instance->registers->control |= C_PLE;
    167163                break;
    168164        default:
    169165                break;
    170166        }
    171         fibril_mutex_unlock(&instance->guard);
    172167        return EOK;
    173168}
     
    183178        usb_log_debug("OHCI interrupt: %x.\n", status);
    184179
     180
    185181        if (status & IS_WDH) {
    186                 fibril_mutex_lock(&instance->guard);
    187                 usb_log_debug2("HCCA: %p-%p(%p).\n", instance->hcca,
    188                     instance->registers->hcca, addr_to_phys(instance->hcca));
    189                 usb_log_debug2("Periodic current: %p.\n",
    190                     instance->registers->periodic_current);
    191182                LIST_INITIALIZE(done);
    192183                transfer_list_remove_finished(
     
    206197                        usb_transfer_batch_finish(batch);
    207198                }
    208                 fibril_mutex_unlock(&instance->guard);
    209199        }
    210200}
     
    218208                instance->registers->interrupt_status = status;
    219209                hc_interrupt(instance, status);
    220                 async_usleep(50000);
     210                async_usleep(10000);
    221211        }
    222212        return EOK;
     
    355345        SETUP_TRANSFER_LIST(transfers_control, "CONTROL");
    356346        SETUP_TRANSFER_LIST(transfers_bulk, "BULK");
    357 #undef SETUP_TRANSFER_LIST
     347
    358348        transfer_list_set_next(&instance->transfers_interrupt,
    359349            &instance->transfers_isochronous);
     
    370360
    371361        return EOK;
     362#undef CHECK_RET_CLEAR_RETURN
    372363}
    373364/*----------------------------------------------------------------------------*/
Note: See TracChangeset for help on using the changeset viewer.