Changeset 5620bd4 in mainline for uspace/drv/uhci-hcd/iface.c


Ignore:
Timestamp:
2011-03-06T18:38:55Z (14 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
57c0a7e
Parents:
98807e16
Message:

Integrate device_keeper into bathc structure

Check every control write for toggle reset

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/uhci-hcd/iface.c

    r98807e16 r5620bd4  
    114114
    115115        batch_t *batch = batch_get(fun, target, USB_TRANSFER_INTERRUPT,
    116             max_packet_size, speed, data, size, NULL, 0, NULL, callback, arg);
    117         if (!batch)
    118                 return ENOMEM;
    119         batch_interrupt_out(batch, &hc->device_manager);
     116            max_packet_size, speed, data, size, NULL, 0, NULL, callback, arg,
     117            &hc->device_manager);
     118        if (!batch)
     119                return ENOMEM;
     120        batch_interrupt_out(batch);
    120121        return EOK;
    121122}
     
    133134
    134135        batch_t *batch = batch_get(fun, target, USB_TRANSFER_INTERRUPT,
    135             max_packet_size, speed, data, size, NULL, 0, callback, NULL, arg);
    136         if (!batch)
    137                 return ENOMEM;
    138         batch_interrupt_in(batch, &hc->device_manager);
     136            max_packet_size, speed, data, size, NULL, 0, callback, NULL, arg,
     137                        &hc->device_manager);
     138        if (!batch)
     139                return ENOMEM;
     140        batch_interrupt_in(batch);
    139141        return EOK;
    140142}
     
    153155
    154156        batch_t *batch = batch_get(fun, target, USB_TRANSFER_BULK,
    155             max_packet_size, speed, data, size, NULL, 0, NULL, callback, arg);
    156         if (!batch)
    157                 return ENOMEM;
    158         batch_bulk_out(batch, &hc->device_manager);
     157            max_packet_size, speed, data, size, NULL, 0, NULL, callback, arg,
     158            &hc->device_manager);
     159        if (!batch)
     160                return ENOMEM;
     161        batch_bulk_out(batch);
    159162        return EOK;
    160163}
     
    172175
    173176        batch_t *batch = batch_get(fun, target, USB_TRANSFER_BULK,
    174             max_packet_size, speed, data, size, NULL, 0, callback, NULL, arg);
    175         if (!batch)
    176                 return ENOMEM;
    177         batch_bulk_in(batch, &hc->device_manager);
     177            max_packet_size, speed, data, size, NULL, 0, callback, NULL, arg,
     178            &hc->device_manager);
     179        if (!batch)
     180                return ENOMEM;
     181        batch_bulk_in(batch);
    178182        return EOK;
    179183}
     
    191195            target.address, target.endpoint, size, max_packet_size);
    192196
     197        if (setup_size != 8)
     198                return EINVAL;
     199
    193200        batch_t *batch = batch_get(fun, target, USB_TRANSFER_CONTROL,
    194201            max_packet_size, speed, data, size, setup_data, setup_size,
    195             NULL, callback, arg);
    196         if (!batch)
    197                 return ENOMEM;
     202            NULL, callback, arg, &hc->device_manager);
     203        if (!batch)
     204                return ENOMEM;
     205        device_keeper_reset_if_need(&hc->device_manager, target, setup_data);
    198206        batch_control_write(batch);
    199207        return EOK;
     
    214222        batch_t *batch = batch_get(fun, target, USB_TRANSFER_CONTROL,
    215223            max_packet_size, speed, data, size, setup_data, setup_size, callback,
    216             NULL, arg);
     224            NULL, arg, &hc->device_manager);
    217225        if (!batch)
    218226                return ENOMEM;
Note: See TracChangeset for help on using the changeset viewer.