Changeset a825eeb0 in mainline for uspace/drv/bus/usb/usbhub/usbhub.c


Ignore:
Timestamp:
2011-10-13T12:55:34Z (13 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
22a2b763
Parents:
3875af65
Message:

usbhub: Remove connected devices before confirming device gone.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/bus/usb/usbhub/usbhub.c

    r3875af65 ra825eeb0  
    9898
    9999        assert(!hub->running);
     100
     101        for (size_t port = 0; port < hub->port_count; ++port) {
     102                if (hub->ports[port].attached_device.fun) {
     103                        const int ret =
     104                            usb_hub_port_fini(&hub->ports[port], hub);
     105                        if (ret != EOK)
     106                                return ret;
     107                }
     108        }
     109        free(hub->ports);
     110
    100111        const int ret = ddf_fun_unbind(hub->hub_fun);
    101112        if (ret != EOK) {
     
    105116        }
    106117        ddf_fun_destroy(hub->hub_fun);
    107         free(hub->ports);
     118
    108119        free(hub);
    109120        usb_dev->driver_data = NULL;
Note: See TracChangeset for help on using the changeset viewer.