Changes in / [ff76509:9063484] in mainline


Ignore:
Files:
8 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • .bzrignore

    rff76509 r9063484  
    9494./uspace/drv/usbhid/usbhid
    9595./uspace/drv/usbkbd/usbkbd
    96 ./uspace/drv/usbmast/usbmast
    9796./uspace/drv/usbmid/usbmid
    9897./uspace/drv/usbmouse/usbmouse
  • boot/arch/amd64/Makefile.inc

    rff76509 r9063484  
    5151        usbkbd \
    5252        usbhid \
    53         usbmast \
    5453        usbmid \
    5554        usbmouse \
  • uspace/Makefile

    rff76509 r9063484  
    125125                drv/usbhid \
    126126                drv/usbhub \
    127                 drv/usbmast \
    128127                drv/usbmid \
    129128                drv/usbmouse \
     
    147146                drv/usbhid \
    148147                drv/usbhub \
    149                 drv/usbmast \
    150148                drv/usbmid \
    151149                drv/usbmouse \
  • uspace/doc/doxygroups.h

    rff76509 r9063484  
    251251
    252252        /**
    253          * @defgroup drvusbmast USB mass storage driver
    254          * @ingroup usb
    255          * @brief USB driver for mass storage devices (bulk-only protocol).
    256          * This driver is a only a stub and is currently used only for
    257          * testing that bulk transfers work.
    258          */
    259 
    260         /**
    261253         * @defgroup drvusbuhci UHCI driver
    262254         * @ingroup usb
  • uspace/drv/usbhid/usbhid.c

    rff76509 r9063484  
    360360        rc = usb_hid_check_pipes(hid_dev, dev);
    361361        if (rc != EOK) {
    362                 //usb_hid_free(&hid_dev);
     362                usb_hid_free(&hid_dev);
    363363                return rc;
    364364        }
     
    368368        if (rc != EOK) {
    369369                usb_log_error("Failed to initialize report parser.\n");
    370                 //usb_hid_free(&hid_dev);
     370                usb_hid_free(&hid_dev);
    371371                return rc;
    372372        }
     
    386386                            " device.\n");
    387387                        fallback = true;
    388                         assert(hid_dev->subdrivers == NULL);
    389                         assert(hid_dev->subdriver_count == 0);
    390388                }
    391389        } else {
     
    428426                usb_log_error("No subdriver for handling this device could be"
    429427                    " initialized: %s.\n", str_error(rc));
    430                 usb_log_debug("Subdriver count: %d\n",
    431                     hid_dev->subdriver_count);
    432                 //usb_hid_free(&hid_dev);
     428                usb_hid_free(&hid_dev);
    433429        } else {
    434430                bool ok = false;
     
    554550        }
    555551       
    556         usb_log_debug("Subdrivers: %p, subdriver count: %d\n",
    557             (*hid_dev)->subdrivers, (*hid_dev)->subdriver_count);
    558        
    559552        assert((*hid_dev)->subdrivers != NULL
    560553            || (*hid_dev)->subdriver_count == 0);
  • uspace/lib/usb/src/hidreport.c

    rff76509 r9063484  
    119119        uint16_t length =  hid_desc->report_desc_info.length;
    120120        size_t actual_size = 0;
     121       
     122        /*
     123         * Start session for the control transfer.
     124         */
     125        int sess_rc = usb_pipe_start_session(&dev->ctrl_pipe);
     126        if (sess_rc != EOK) {
     127                usb_log_warning("Failed to start a session: %s.\n",
     128                    str_error(sess_rc));
     129                return sess_rc;
     130        }
    121131
    122132        /*
     
    152162                    "%u)\n", actual_size, length);
    153163                return EINVAL;
     164        }
     165       
     166        /*
     167         * End session for the control transfer.
     168         */
     169        sess_rc = usb_pipe_end_session(&dev->ctrl_pipe);
     170        if (sess_rc != EOK) {
     171                usb_log_warning("Failed to end a session: %s.\n",
     172                    str_error(sess_rc));
     173                free(*report_desc);
     174                *report_desc = NULL;
     175                return sess_rc;
    154176        }
    155177       
  • uspace/lib/usb/src/hidreq.c

    rff76509 r9063484  
    5656 * @retval EOK if successful.
    5757 * @retval EINVAL if no HID device is given.
    58  * @return Other value inherited from function usb_control_request_set().
     58 * @return Other value inherited from one of functions
     59 *         usb_pipe_start_session(), usb_pipe_end_session(),
     60 *         usb_control_request_set().
    5961 */
    6062int usbhid_req_set_report(usb_pipe_t *ctrl_pipe, int iface_no,
     
    7779         */
    7880       
    79         int rc;
     81        int rc, sess_rc;
     82       
     83        sess_rc = usb_pipe_start_session(ctrl_pipe);
     84        if (sess_rc != EOK) {
     85                usb_log_warning("Failed to start a session: %s.\n",
     86                    str_error(sess_rc));
     87                return sess_rc;
     88        }
    8089       
    8190        uint16_t value = 0;
     
    8897            USB_HIDREQ_SET_REPORT, value, iface_no, buffer, buf_size);
    8998
    90         if (rc != EOK) {
    91                 usb_log_warning("Error sending output report to the keyboard: "
    92                     "%s.\n", str_error(rc));
    93                 return rc;
     99        sess_rc = usb_pipe_end_session(ctrl_pipe);
     100
     101        if (rc != EOK) {
     102                usb_log_warning("Error sending output report to the keyboard: "
     103                    "%s.\n", str_error(rc));
     104                return rc;
     105        }
     106
     107        if (sess_rc != EOK) {
     108                usb_log_warning("Error closing session: %s.\n",
     109                    str_error(sess_rc));
     110                return sess_rc;
    94111        }
    95112       
     
    106123 * @retval EOK if successful.
    107124 * @retval EINVAL if no HID device is given.
    108  * @return Other value inherited from function usb_control_request_set().
     125 * @return Other value inherited from one of functions
     126 *         usb_pipe_start_session(), usb_pipe_end_session(),
     127 *         usb_control_request_set().
    109128 */
    110129int usbhid_req_set_protocol(usb_pipe_t *ctrl_pipe, int iface_no,
     
    127146         */
    128147       
    129         int rc;
     148        int rc, sess_rc;
     149       
     150        sess_rc = usb_pipe_start_session(ctrl_pipe);
     151        if (sess_rc != EOK) {
     152                usb_log_warning("Failed to start a session: %s.\n",
     153                    str_error(sess_rc));
     154                return sess_rc;
     155        }
    130156
    131157        usb_log_debug("Sending Set_Protocol request to the device ("
     
    136162            USB_HIDREQ_SET_PROTOCOL, protocol, iface_no, NULL, 0);
    137163
    138         if (rc != EOK) {
    139                 usb_log_warning("Error sending output report to the keyboard: "
    140                     "%s.\n", str_error(rc));
    141                 return rc;
     164        sess_rc = usb_pipe_end_session(ctrl_pipe);
     165
     166        if (rc != EOK) {
     167                usb_log_warning("Error sending output report to the keyboard: "
     168                    "%s.\n", str_error(rc));
     169                return rc;
     170        }
     171
     172        if (sess_rc != EOK) {
     173                usb_log_warning("Error closing session: %s.\n",
     174                    str_error(sess_rc));
     175                return sess_rc;
    142176        }
    143177       
     
    155189 * @retval EOK if successful.
    156190 * @retval EINVAL if no HID device is given.
    157  * @return Other value inherited from function usb_control_request_set().
     191 * @return Other value inherited from one of functions
     192 *         usb_pipe_start_session(), usb_pipe_end_session(),
     193 *         usb_control_request_set().
    158194 */
    159195int usbhid_req_set_idle(usb_pipe_t *ctrl_pipe, int iface_no, uint8_t duration)
     
    175211         */
    176212       
    177         int rc;
     213        int rc, sess_rc;
     214       
     215        sess_rc = usb_pipe_start_session(ctrl_pipe);
     216        if (sess_rc != EOK) {
     217                usb_log_warning("Failed to start a session: %s.\n",
     218                    str_error(sess_rc));
     219                return sess_rc;
     220        }
    178221
    179222        usb_log_debug("Sending Set_Idle request to the device ("
     
    186229            USB_HIDREQ_SET_IDLE, value, iface_no, NULL, 0);
    187230
    188         if (rc != EOK) {
    189                 usb_log_warning("Error sending output report to the keyboard: "
    190                     "%s.\n", str_error(rc));
    191                 return rc;
     231        sess_rc = usb_pipe_end_session(ctrl_pipe);
     232
     233        if (rc != EOK) {
     234                usb_log_warning("Error sending output report to the keyboard: "
     235                    "%s.\n", str_error(rc));
     236                return rc;
     237        }
     238
     239        if (sess_rc != EOK) {
     240                usb_log_warning("Error closing session: %s.\n",
     241                    str_error(sess_rc));
     242                return sess_rc;
    192243        }
    193244       
     
    208259 * @retval EOK if successful.
    209260 * @retval EINVAL if no HID device is given.
    210  * @return Other value inherited from function usb_control_request_set().
     261 * @return Other value inherited from one of functions
     262 *         usb_pipe_start_session(), usb_pipe_end_session(),
     263 *         usb_control_request_set().
    211264 */
    212265int usbhid_req_get_report(usb_pipe_t *ctrl_pipe, int iface_no,
     
    230283         */
    231284       
    232         int rc;
     285        int rc, sess_rc;
     286       
     287        sess_rc = usb_pipe_start_session(ctrl_pipe);
     288        if (sess_rc != EOK) {
     289                usb_log_warning("Failed to start a session: %s.\n",
     290                    str_error(sess_rc));
     291                return sess_rc;
     292        }
    233293
    234294        uint16_t value = 0;
     
    242302            actual_size);
    243303
    244         if (rc != EOK) {
    245                 usb_log_warning("Error sending output report to the keyboard: "
    246                     "%s.\n", str_error(rc));
    247                 return rc;
     304        sess_rc = usb_pipe_end_session(ctrl_pipe);
     305
     306        if (rc != EOK) {
     307                usb_log_warning("Error sending output report to the keyboard: "
     308                    "%s.\n", str_error(rc));
     309                return rc;
     310        }
     311
     312        if (sess_rc != EOK) {
     313                usb_log_warning("Error closing session: %s.\n",
     314                    str_error(sess_rc));
     315                return sess_rc;
    248316        }
    249317       
     
    260328 * @retval EOK if successful.
    261329 * @retval EINVAL if no HID device is given.
    262  * @return Other value inherited from function usb_control_request_set().
     330 * @return Other value inherited from one of functions
     331 *         usb_pipe_start_session(), usb_pipe_end_session(),
     332 *         usb_control_request_set().
    263333 */
    264334int usbhid_req_get_protocol(usb_pipe_t *ctrl_pipe, int iface_no,
     
    281351         */
    282352       
    283         int rc;
     353        int rc, sess_rc;
     354       
     355        sess_rc = usb_pipe_start_session(ctrl_pipe);
     356        if (sess_rc != EOK) {
     357                usb_log_warning("Failed to start a session: %s.\n",
     358                    str_error(sess_rc));
     359                return sess_rc;
     360        }
    284361
    285362        usb_log_debug("Sending Get_Protocol request to the device ("
     
    293370            USB_HIDREQ_GET_PROTOCOL, 0, iface_no, buffer, 1, &actual_size);
    294371
    295         if (rc != EOK) {
    296                 usb_log_warning("Error sending output report to the keyboard: "
    297                     "%s.\n", str_error(rc));
    298                 return rc;
     372        sess_rc = usb_pipe_end_session(ctrl_pipe);
     373
     374        if (rc != EOK) {
     375                usb_log_warning("Error sending output report to the keyboard: "
     376                    "%s.\n", str_error(rc));
     377                return rc;
     378        }
     379
     380        if (sess_rc != EOK) {
     381                usb_log_warning("Error closing session: %s.\n",
     382                    str_error(sess_rc));
     383                return sess_rc;
    299384        }
    300385       
     
    342427         */
    343428       
    344         int rc;
     429        int rc, sess_rc;
     430       
     431        sess_rc = usb_pipe_start_session(ctrl_pipe);
     432        if (sess_rc != EOK) {
     433                usb_log_warning("Failed to start a session: %s.\n",
     434                    str_error(sess_rc));
     435                return sess_rc;
     436        }
    345437
    346438        usb_log_debug("Sending Get_Idle request to the device ("
     
    356448            &actual_size);
    357449
    358         if (rc != EOK) {
    359                 usb_log_warning("Error sending output report to the keyboard: "
    360                     "%s.\n", str_error(rc));
    361                 return rc;
     450        sess_rc = usb_pipe_end_session(ctrl_pipe);
     451
     452        if (rc != EOK) {
     453                usb_log_warning("Error sending output report to the keyboard: "
     454                    "%s.\n", str_error(rc));
     455                return rc;
     456        }
     457
     458        if (sess_rc != EOK) {
     459                usb_log_warning("Error closing session: %s.\n",
     460                    str_error(sess_rc));
     461                return sess_rc;
    362462        }
    363463       
Note: See TracChangeset for help on using the changeset viewer.