Changeset 8123695a in mainline for uspace/drv/usbhub/usbhub.c


Ignore:
Timestamp:
2011-04-02T16:07:29Z (13 years ago)
Author:
Matus Dekanek <smekideki@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
322a8066
Parents:
c6ba274
Message:

ohci root hub set/clear feature requests redesigned
hub: fix for non-removable devices 3.0

File:
1 edited

Legend:

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

    rc6ba274 r8123695a  
    317317                        //set the status change bit, so it will be noticed in driver loop
    318318                        if(usb_port_dev_connected(&status)){
    319                                 usb_hub_set_enable_port_feature_request(&request, port,
    320                                                 USB_HUB_FEATURE_C_PORT_CONNECTION);
     319                                usb_hub_set_disable_port_feature_request(&request, port,
     320                                                USB_HUB_FEATURE_PORT_CONNECTION);
    321321                                opResult = usb_pipe_control_read(
    322322                                                hub->control_pipe,
     
    326326                                if (opResult != EOK) {
    327327                                        usb_log_warning(
    328                                                         "could not set port change on port %d errno:%d\n",
     328                                                        "could not clear port connection on port %d errno:%d\n",
    329329                                                        port, opResult);
    330330                                }
     331                                usb_log_debug("cleared port connection\n");
     332                                usb_hub_set_enable_port_feature_request(&request, port,
     333                                                USB_HUB_FEATURE_PORT_ENABLE);
     334                                opResult = usb_pipe_control_read(
     335                                                hub->control_pipe,
     336                                                &request, sizeof(usb_device_request_setup_packet_t),
     337                                                &status, 4, &rcvd_size
     338                                                );
     339                                if (opResult != EOK) {
     340                                        usb_log_warning(
     341                                                        "could not set port enabled on port %d errno:%d\n",
     342                                                        port, opResult);
     343                                }
     344                                usb_log_debug("port set to enabled - should lead to connection change\n");
    331345                        }
    332346                }
     
    613627        //something connected/disconnected
    614628        if (usb_port_connect_change(&status)) {
     629                usb_log_debug("connection change on port\n");
    615630                if (usb_port_dev_connected(&status)) {
    616631                        usb_log_debug("some connection changed\n");
     
    623638        if (usb_port_overcurrent_change(&status)) {
    624639                //check if it was not auto-resolved
     640                usb_log_debug("overcurrent change on port\n");
    625641                if(usb_port_over_current(&status)){
    626642                        usb_hub_over_current(hub,port);
     
    639655                }
    640656        }
     657        usb_log_debug("status %x\n ",status);
    641658
    642659        usb_port_set_connect_change(&status, false);
Note: See TracChangeset for help on using the changeset viewer.