Changeset 5dfb70c9 in mainline for uspace/drv/bus/usb/uhci/transfer_list.c
- Timestamp:
- 2017-12-29T12:10:56Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5c75456
- Parents:
- 415c5116
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/uhci/transfer_list.c
r415c5116 r5dfb70c9 202 202 } 203 203 204 /** Walk the list and finish all batches of a specified device with EINTR. 205 * 206 * @param[in] instance List to use. 207 * @param[in] address Address of the specified device. Other addresses are skipped. 208 */ 209 void transfer_list_abort_device(transfer_list_t *instance, usb_address_t address) 210 { 211 fibril_mutex_lock(&instance->guard); 212 link_t *current = list_first(&instance->batch_list); 213 while (current && current != &instance->batch_list.head && !list_empty(&instance->batch_list)) { 214 link_t * const next = current->next; 215 uhci_transfer_batch_t *batch = 216 uhci_transfer_batch_from_link(current); 217 218 if (batch->base.target.address == address) { 219 transfer_list_remove_batch(instance, batch); 220 endpoint_abort(batch->base.ep); 221 } 222 223 current = next; 224 } 225 fibril_mutex_unlock(&instance->guard); 226 } 227 204 228 /** Remove a transfer batch from the list and queue. 205 229 *
Note:
See TracChangeset
for help on using the changeset viewer.