Changeset 98637224 in mainline


Ignore:
Timestamp:
2011-03-18T16:31:50Z (13 years ago)
Author:
Matus Dekanek <smekideki@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
382f3266, 411d9fa, f0a1c86
Parents:
d8e61b0d (diff), e93e319 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

second fix of bug 138(multiple new devices deadlock), works in qemu

File:
1 edited

Legend:

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

    rd8e61b0d r98637224  
    405405        //if this hub already uses default address, it cannot request it once more
    406406        if(hub->is_default_address_used) return;
     407        int opResult = usb_hub_clear_port_feature(&hub->endpoints.control,
     408                                port, USB_HUB_FEATURE_C_PORT_CONNECTION);
     409        if(opResult != EOK){
     410                usb_log_warning("could not clear port-change-connection flag");
     411        }
    407412
    408413        usb_device_request_setup_packet_t request;
    409         int opResult;
    410414        usb_log_info("some connection changed");
    411415        assert(hub->endpoints.control.hc_phone);
     
    431435                usb_hub_release_default_address(hub);
    432436        }
     437        return;
    433438}
    434439
     
    531536static void usb_hub_removed_device(
    532537    usb_hub_info_t * hub,uint16_t port) {
    533                
     538
     539        int opResult = usb_hub_clear_port_feature(&hub->endpoints.control,
     540                                port, USB_HUB_FEATURE_C_PORT_CONNECTION);
     541        if(opResult != EOK){
     542                usb_log_warning("could not clear port-change-connection flag");
     543        }
    534544        /** \TODO remove device from device manager - not yet implemented in
    535545         * devide manager
     
    611621        //something connected/disconnected
    612622        if (usb_port_connect_change(&status)) {
    613                 opResult = usb_hub_clear_port_feature(pipe,
    614                     port, USB_HUB_FEATURE_C_PORT_CONNECTION);
    615                 // TODO: check opResult
    616623                if (usb_port_dev_connected(&status)) {
    617624                        usb_log_info("some connection changed");
Note: See TracChangeset for help on using the changeset viewer.