Ignore:
File:
1 edited

Legend:

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

    r9223dc5c r39c3d95d  
    352352        result->port_count = descriptor->ports_count;
    353353        result->attached_devs = (usb_hub_attached_device_t*)
    354             malloc((result->port_count+1) * sizeof(usb_hub_attached_device_t));
     354            malloc(result->port_count * sizeof(usb_hub_attached_device_t));
    355355        int i;
    356         for(i=0;i<result->port_count+1;++i){
     356        for(i=0;i<result->port_count;++i){
    357357                result->attached_devs[i].devman_handle=0;
    358358                result->attached_devs[i].address=0;
     
    428428
    429429
    430         for (port = 1; port < hub_info->port_count+1; ++port) {
     430        for (port = 0; port < hub_info->port_count; ++port) {
    431431                usb_hub_set_power_port_request(&request, port);
    432432                opResult = usb_drv_sync_control_write(hc, target, &request, NULL, 0);
    433                 printf("[usb_hub] powering port %d\n",port);
    434433                if (opResult != EOK) {
    435434                        printf("[usb_hub]something went wrong when setting hub`s %dth port\n", port);
     
    541540                return;
    542541        }
    543         printf("[usb_hub] new device address %d, handle %d\n",
    544             new_device_address, child_handle);
    545         sleep(60);
    546542       
    547543}
     
    642638        usb_port_set_dev_connected(&status, false);
    643639        if (status) {
    644                 printf("[usb_hub]there was some unsupported change on port %d\n",port);
     640                printf("[usb_hub]there was some unsupported change on port\n");
    645641        }
    646642        /// \TODO handle other changes
     
    679675                target.address = hub_info->usb_device->address;
    680676                target.endpoint = 1;/// \TODO get from endpoint descriptor
    681                 printf("checking changes for hub at addr %d \n",target.address);
    682677
    683678                size_t port_count = hub_info->port_count;
     
    692687
    693688                // FIXME: count properly
    694                 size_t byte_length = ((port_count+1) / 8) + 1;
     689                size_t byte_length = (port_count / 8) + 1;
    695690
    696691                void *change_bitmap = malloc(byte_length);
     
    712707                }
    713708                unsigned int port;
    714                 for (port = 1; port < port_count+1; ++port) {
     709                for (port = 0; port < port_count; ++port) {
    715710                        bool interrupt = (((uint8_t*) change_bitmap)[port / 8] >> (port % 8)) % 2;
    716711                        if (interrupt) {
Note: See TracChangeset for help on using the changeset viewer.