Ignore:
File:
1 edited

Legend:

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

    r2c2cbcf rd48fcc0  
    7777 *
    7878 * @param pipe The USB pipe.
    79  * @param hide_failure Whether to hide failure when adding reference
    80  *      (use soft refcount).
    8179 * @return Error code.
    8280 * @retval EOK Currently always.
    8381 */
    84 int pipe_add_ref(usb_pipe_t *pipe, bool hide_failure)
     82int pipe_add_ref(usb_pipe_t *pipe)
    8583{
     84another_try:
    8685        pipe_acquire(pipe);
    8786
     
    9089                int phone = devman_device_connect(pipe->wire->hc_handle, 0);
    9190                if (phone < 0) {
    92                         if (hide_failure) {
    93                                 pipe->refcount_soft++;
    94                                 phone = EOK;
    95                         }
     91                        // TODO: treat some error as non-recoverable
     92                        // and return error from here
    9693                        pipe_release(pipe);
    97                         return phone;
     94                        goto another_try;
    9895                }
    9996                /*
     
    117114{
    118115        pipe_acquire(pipe);
    119         if (pipe->refcount_soft > 0) {
    120                 pipe->refcount_soft--;
    121                 pipe_release(pipe);
    122                 return;
    123         }
    124116        assert(pipe->refcount > 0);
    125117        pipe->refcount--;
Note: See TracChangeset for help on using the changeset viewer.