Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usb/src/hc.c

    r79ae36dd re280857  
    9898                return EBUSY;
    9999       
    100         async_sess_t *sess = devman_device_connect(EXCHANGE_SERIALIZE,
     100        async_sess_t *sess = devman_device_connect(EXCHANGE_ATOMIC,
    101101            connection->hc_handle, 0);
    102102        if (!sess)
     
    177177{
    178178        async_sess_t *parent_sess =
    179             devman_parent_device_connect(EXCHANGE_SERIALIZE, dev_handle,
     179            devman_parent_device_connect(EXCHANGE_ATOMIC, dev_handle,
    180180            IPC_FLAG_BLOCKING);
    181181        if (!parent_sess)
     
    201201/** Get host controller handle by its class index.
    202202 *
    203  * @param class_index Class index for the host controller.
     203 * @param sid Service ID of the HC function.
    204204 * @param hc_handle Where to store the HC handle
    205205 *      (can be NULL for existence test only).
    206206 * @return Error code.
    207207 */
    208 int usb_ddf_get_hc_handle_by_class(size_t class_index,
    209     devman_handle_t *hc_handle)
    210 {
    211         char *class_index_str;
    212         devman_handle_t hc_handle_tmp;
     208int usb_ddf_get_hc_handle_by_sid(service_id_t sid, devman_handle_t *hc_handle)
     209{
     210        devman_handle_t handle;
    213211        int rc;
    214 
    215         rc = asprintf(&class_index_str, "%zu", class_index);
    216         if (rc < 0) {
    217                 return ENOMEM;
    218         }
    219         rc = devman_device_get_handle_by_class("usbhc", class_index_str,
    220             &hc_handle_tmp, 0);
    221         free(class_index_str);
    222         if (rc != EOK) {
    223                 return rc;
    224         }
    225 
    226         if (hc_handle != NULL) {
    227                 *hc_handle = hc_handle_tmp;
    228         }
    229 
    230         return EOK;
     212       
     213        rc = devman_fun_sid_to_handle(sid, &handle);
     214        if (hc_handle != NULL)
     215                *hc_handle = handle;
     216       
     217        return rc;
    231218}
    232219
     
    241228{
    242229        async_sess_t *parent_sess =
    243             devman_parent_device_connect(EXCHANGE_SERIALIZE, device_handle,
     230            devman_parent_device_connect(EXCHANGE_ATOMIC, device_handle,
    244231            IPC_FLAG_BLOCKING);
    245232        if (!parent_sess)
Note: See TracChangeset for help on using the changeset viewer.