Changeset a752c78c in mainline for uspace/drv/bus/usb/ehci/ehci_batch.c
- Timestamp:
- 2014-01-25T07:07:54Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 23e5471
- Parents:
- 6602e97
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/bus/usb/ehci/ehci_batch.c
r6602e97 ra752c78c 206 206 ehci_batch->tds[i]->status, ehci_batch->tds[i]->next, 207 207 ehci_batch->tds[i]->alternate); 208 #if 0 208 209 209 ehci_batch->usb_batch->error = td_error(ehci_batch->tds[i]); 210 210 if (ehci_batch->usb_batch->error == EOK) { … … 227 227 ehci_batch->usb_batch, i, 228 228 ehci_batch->tds[i]->status); 229 230 /* ED should be stopped because of errors */231 assert((ehci_batch->ed->td_head & ED_TDHEAD_HALTED_FLAG) != 0);232 233 /* Now we have a problem: we don't know what TD234 * the head pointer points to, the retiring rules235 * described in specs say it should be the one after236 * the failed one so set the tail pointer accordingly.237 * It will be the one TD we leave behind.238 */239 leave_td = i + 1;240 241 /* Check TD assumption */242 assert(ed_head_td(ehci_batch->ed) ==243 addr_to_phys(ehci_batch->tds[leave_td]));244 245 /* Set tail to the same TD */246 ed_set_tail_td(ehci_batch->ed,247 ehci_batch->tds[leave_td]);248 249 229 /* Clear possible ED HALT */ 250 ed_clear_halt(ehci_batch->ed);230 qh_clear_halt(ehci_batch->qh); 251 231 break; 252 232 } 253 #endif254 233 } 255 234 256 235 assert(ehci_batch->usb_batch->transfered_size <= 257 236 ehci_batch->usb_batch->buffer_size); 258 #if 0 259 /* Store the remaining TD */ 260 ehci_endpoint_t *ehci_ep = ehci_endpoint_get(ehci_batch->usb_batch->ep); 261 assert(ehci_ep); 262 ehci_ep->td = ehci_batch->tds[leave_td]; 263 264 /* Make sure that we are leaving the right TD behind */ 265 assert(addr_to_phys(ehci_ep->td) == ed_head_td(ehci_batch->ed)); 266 assert(addr_to_phys(ehci_ep->td) == ed_tail_td(ehci_batch->ed)); 267 #endif 237 /* Clear TD pointers */ 238 ehci_batch->qh->next = LINK_POINTER_TERM; 239 ehci_batch->qh->current = LINK_POINTER_TERM; 240 268 241 return true; 269 242 }
Note:
See TracChangeset
for help on using the changeset viewer.