Changeset 18092dd3 in mainline


Ignore:
Timestamp:
2018-01-29T13:23:28Z (6 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7bdfcaf
Parents:
702729e
Message:

usb hc: fixed leaking reference in enumeration

Location:
uspace
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/xhci/device.c

    r702729e r18092dd3  
    8181        usb_log_debug("Obtained slot ID: %u.", dev->slot_id);
    8282
     83        /* Temporary reference */
    8384        endpoint_t *ep0_base;
    8485        if ((err = bus_endpoint_add(&dev->base, &ep0_initial_desc, &ep0_base)))
     
    9394                goto err_added;
    9495
     96        /* Temporary reference */
     97        endpoint_del_ref(ep0_base);
     98
    9599        return EOK;
    96100
    97101err_added:
    98         /* Bus reference */
     102        bus_endpoint_remove(ep0_base);
     103        /* Temporary reference */
    99104        endpoint_del_ref(ep0_base);
    100         dev->base.endpoints[0] = NULL;
    101105err_slot:
    102106        hc_disable_slot(dev);
  • uspace/lib/usbhost/src/usb2_bus.c

    r702729e r18092dd3  
    122122            .endpoint.max_packet_size = CTRL_PIPE_MIN_PACKET_SIZE,
    123123        };
     124
     125        /* Temporary reference */
    124126        endpoint_t *default_ep;
    125127        err = bus_endpoint_add(dev, &ep0_desc, &default_ep);
     
    162164        }
    163165
     166        /* Temporary reference */
     167        endpoint_del_ref(default_ep);
     168
    164169        return EOK;
    165170
    166171err_default_control_ep:
    167172        bus_endpoint_remove(default_ep);
     173        /* Temporary reference */
     174        endpoint_del_ref(default_ep);
    168175err_address:
    169176        release_address(helper, address);
Note: See TracChangeset for help on using the changeset viewer.