Changeset 361fcec in mainline for uspace/drv/usbhub/usbhub.c


Ignore:
Timestamp:
2011-04-29T08:33:43Z (13 years ago)
Author:
Matus Dekanek <smekideki@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
152ec79, a146aa33
Parents:
54d71e1
Message:

removing malloc, pre-creating root hub descriptor and interrupt buffer

File:
1 edited

Legend:

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

    r54d71e1 r361fcec  
    7373
    7474
    75 /// \TODO malloc checking
    76 
    7775//*********************************************
    7876//
     
    248246        hub_info->ports = malloc(
    249247            sizeof (usb_hub_port_t) * (hub_info->port_count + 1));
     248        if(!hub_info->ports){
     249                return ENOMEM;
     250        }
    250251        size_t port;
    251252        for (port = 0; port < hub_info->port_count + 1; ++port) {
     
    255256                usb_log_debug("is_power_switched\n");
    256257               
     258                if(!has_individual_port_powering){
     259                        usb_log_debug("!has_individual_port_powering\n");
     260                        opResult = usb_hub_set_feature(hub_info->control_pipe,
     261                            USB_HUB_FEATURE_C_HUB_LOCAL_POWER);
     262                        if (opResult != EOK) {
     263                                usb_log_error("cannot power hub: %s\n",
     264                                    str_error(opResult));
     265                        }
     266                }
     267
    257268                for (port = 1; port <= hub_info->port_count; ++port) {
    258269                        usb_log_debug("Powering port %zu.\n",port);
     
    264275                        }
    265276                }
    266                 if(!has_individual_port_powering){
    267                         usb_log_debug("!has_individual_port_powering\n");
    268                         opResult = usb_hub_set_feature(hub_info->control_pipe,
    269                             USB_HUB_FEATURE_C_HUB_LOCAL_POWER);
    270                         if (opResult != EOK) {
    271                                 usb_log_error("cannot power hub: %s\n",
    272                                     str_error(opResult));
    273                         }
    274                 }
     277               
    275278        }else{
    276                 usb_log_debug("!is_power_switched\n");
     279                usb_log_debug("!is_power_switched, not going to be powered\n");
    277280        }
    278281        usb_log_debug2("freeing data\n");
Note: See TracChangeset for help on using the changeset viewer.