Changeset 171cd88 in mainline
- Timestamp:
- 2011-03-18T21:04:01Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 46d12fb
- Parents:
- f0a1c86
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci-hcd/utils/device_keeper.c
rf0a1c86 r171cd88 179 179 } else { 180 180 if (toggle) { 181 instance->devices[target.address].toggle_status |= (1 << target.endpoint); 181 instance->devices[target.address].toggle_status |= 182 (1 << target.endpoint); 182 183 } else { 183 instance->devices[target.address].toggle_status &= ~(1 << target.endpoint); 184 instance->devices[target.address].toggle_status &= 185 ~(1 << target.endpoint); 184 186 } 185 187 ret = EOK; … … 201 203 fibril_mutex_lock(&instance->guard); 202 204 203 usb_address_t new_address = instance->last_address + 1; 204 while (instance->devices[new_address].occupied) { 205 usb_address_t new_address = instance->last_address; 206 do { 207 ++new_address; 208 if (new_address > USB11_ADDRESS_MAX) 209 new_address = 1; 205 210 if (new_address == instance->last_address) { 206 211 fibril_mutex_unlock(&instance->guard); 207 212 return ENOSPC; 208 213 } 209 if (new_address == USB11_ADDRESS_MAX) 210 new_address = 1; 211 ++new_address; 212 } 214 } while (instance->devices[new_address].occupied); 213 215 214 216 assert(new_address != USB_ADDRESS_DEFAULT);
Note:
See TracChangeset
for help on using the changeset viewer.