Skip to content

Commit 644e133

Browse files
jacobly0adriweb
authored andcommitted
Stub isochronous descriptor handlers.
1 parent f80b220 commit 644e133

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

core/usb/usb.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,9 @@ static_assert(sizeof(usb_fstn_t) == 0x08, "usb_fstn_t does not have a size of 0x
110110

111111
typedef struct usb_traversal_state {
112112
union {
113+
usb_itd_t itd;
113114
usb_qh_t qh;
115+
usb_sitd_t sitd;
114116
usb_fstn_t fstn;
115117
};
116118
bool dirty : 1;
@@ -621,7 +623,9 @@ static void usb_schedule_traverse(usb_qlink_t *link) {
621623
}
622624
switch (link->type) {
623625
case QTYPE_ITD:
624-
return usb_host_sys_err();
626+
mem_dma_read(&state.itd, link->ptr << 5, sizeof(state.itd));
627+
*link = state.itd.next;
628+
break;
625629
case QTYPE_QH:
626630
if (state.fake_recl_head == (link->ptr & 0x3FFF)) {
627631
static bool warned = false;
@@ -665,7 +669,9 @@ static void usb_schedule_traverse(usb_qlink_t *link) {
665669
*link = state.qh.horiz;
666670
break;
667671
case QTYPE_SITD:
668-
return usb_host_sys_err();
672+
mem_dma_read(&state.sitd, link->ptr << 5, sizeof(state.sitd));
673+
*link = state.sitd.next;
674+
break;
669675
case QTYPE_FSTN:
670676
mem_dma_read(&state.fstn, link->ptr << 5, sizeof(state.fstn));
671677
*link = state.fstn.normal;

0 commit comments

Comments
 (0)