Ignore:
File:
1 edited

Legend:

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

    r8fd4ba0 r175ad13e  
    8080                d = usb_dp_get_sibling_descriptor(&parser, &parser_data,
    8181                    dev->descriptors.configuration, d);
    82                 ++i;
    8382        }
    8483       
     
    119118        uint16_t length =  hid_desc->report_desc_info.length;
    120119        size_t actual_size = 0;
     120       
     121        /*
     122         * Start session for the control transfer.
     123         */
     124        int sess_rc = usb_pipe_start_session(&dev->ctrl_pipe);
     125        if (sess_rc != EOK) {
     126                usb_log_warning("Failed to start a session: %s.\n",
     127                    str_error(sess_rc));
     128                return sess_rc;
     129        }
    121130
    122131        /*
     
    154163        }
    155164       
     165        /*
     166         * End session for the control transfer.
     167         */
     168        sess_rc = usb_pipe_end_session(&dev->ctrl_pipe);
     169        if (sess_rc != EOK) {
     170                usb_log_warning("Failed to end a session: %s.\n",
     171                    str_error(sess_rc));
     172                free(*report_desc);
     173                *report_desc = NULL;
     174                return sess_rc;
     175        }
     176       
    156177        *size = length;
    157178       
     
    164185
    165186int usb_hid_process_report_descriptor(usb_device_t *dev,
    166     usb_hid_report_parser_t *parser)
     187    usb_hid_report_t *report)
    167188{
    168         if (dev == NULL || parser == NULL) {
     189        if (dev == NULL || report == NULL) {
    169190                usb_log_error("Failed to process Report descriptor: wrong "
    170191                    "parameters given.\n");
     
    189210        assert(report_desc != NULL);
    190211       
    191         rc = usb_hid_parse_report_descriptor(parser, report_desc, report_size);
     212        rc = usb_hid_parse_report_descriptor(report, report_desc, report_size);
    192213        if (rc != EOK) {
    193214                usb_log_error("Problem parsing Report descriptor: %s.\n",
     
    197218        }
    198219       
    199         usb_hid_descriptor_print(parser);
     220        usb_hid_descriptor_print(report);
    200221        free(report_desc);
    201222       
Note: See TracChangeset for help on using the changeset viewer.