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


Ignore:
Timestamp:
2011-09-29T19:36:10Z (13 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5357620
Parents:
21881bd8
Message:

usbhub: Handle device removal on port.

File:
1 edited

Legend:

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

    r21881bd8 rdbd54f72  
    255255        if (port->attached_device.address >= 0) {
    256256                fibril_mutex_lock(&port->mutex);
     257                usb_log_debug("Removing device on port %zu.\n",
     258                    port->port_number);
     259                const int ret =
     260                    devman_remove_function(port->attached_device.handle);
     261                if (ret == EOK) {
     262                        const int ret =
     263                            usb_hc_unregister_device(&hub->connection,
     264                                port->attached_device.address);
     265                        if (ret != EOK) {
     266                                usb_log_error("Failed to unregister "
     267                                   "address of removed device: %s.\n",
     268                                   str_error(ret));
     269                        }
     270                } else {
     271                        usb_log_error("Failed to remove child function on port"
     272                           " %zu: %s.\n", port->port_number, str_error(ret));
     273                }
    257274                port->attached_device.address = -1;
    258275                port->attached_device.handle = 0;
Note: See TracChangeset for help on using the changeset viewer.