Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usbdev/src/hub.c

    r49ce810 r79ae36dd  
    4242#include <usb/debug.h>
    4343#include <time.h>
     44#include <async.h>
    4445
    4546/** How much time to wait between attempts to register endpoint 0:0.
     
    7172{
    7273        CHECK_CONNECTION(connection);
    73 
     74       
     75        async_exch_t *exch = async_exchange_begin(connection->hc_sess);
     76       
    7477        sysarg_t address;
    75         int rc = async_req_2_1(connection->hc_phone,
    76             DEV_IFACE_ID(USBHC_DEV_IFACE),
     78        int rc = async_req_2_1(exch, DEV_IFACE_ID(USBHC_DEV_IFACE),
    7779            IPC_M_USBHC_REQUEST_ADDRESS, speed,
    7880            &address);
    79         if (rc != EOK) {
     81       
     82        async_exchange_end(exch);
     83       
     84        if (rc != EOK)
    8085                return (usb_address_t) rc;
    81         } else {
    82                 return (usb_address_t) address;
    83         }
     86       
     87        return (usb_address_t) address;
    8488}
    8589
     
    9498{
    9599        CHECK_CONNECTION(connection);
    96         if (attached_device == NULL) {
     100       
     101        if (attached_device == NULL)
    97102                return EBADMEM;
    98         }
    99 
    100         return async_req_3_0(connection->hc_phone,
    101             DEV_IFACE_ID(USBHC_DEV_IFACE),
     103       
     104        async_exch_t *exch = async_exchange_begin(connection->hc_sess);
     105        int rc = async_req_3_0(exch, DEV_IFACE_ID(USBHC_DEV_IFACE),
    102106            IPC_M_USBHC_BIND_ADDRESS,
    103107            attached_device->address, attached_device->handle);
     108        async_exchange_end(exch);
     109       
     110        return rc;
    104111}
    105112
     
    114121{
    115122        CHECK_CONNECTION(connection);
    116 
    117         return async_req_2_0(connection->hc_phone,
    118             DEV_IFACE_ID(USBHC_DEV_IFACE),
     123       
     124        async_exch_t *exch = async_exchange_begin(connection->hc_sess);
     125        int rc = async_req_2_0(exch, DEV_IFACE_ID(USBHC_DEV_IFACE),
    119126            IPC_M_USBHC_RELEASE_ADDRESS, address);
     127        async_exchange_end(exch);
     128       
     129        return rc;
    120130}
    121131
     
    192202        usb_hc_connection_t hc_conn = {
    193203                .hc_handle = connection->hc_handle,
    194                 .hc_phone = -1
     204                .hc_sess = NULL
    195205        };
    196206
Note: See TracChangeset for help on using the changeset viewer.