diff options
Diffstat (limited to 'sys/dev/usb/controller/uss820dci.c')
-rw-r--r-- | sys/dev/usb/controller/uss820dci.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sys/dev/usb/controller/uss820dci.c b/sys/dev/usb/controller/uss820dci.c index ba77711..9e10000 100644 --- a/sys/dev/usb/controller/uss820dci.c +++ b/sys/dev/usb/controller/uss820dci.c @@ -875,7 +875,8 @@ uss820dci_setup_standard_chain(struct usb_xfer *xfer) temp.td = NULL; temp.td_next = xfer->td_start[0]; temp.offset = 0; - temp.setup_alt_next = xfer->flags_int.short_frames_ok; + temp.setup_alt_next = xfer->flags_int.short_frames_ok || + xfer->flags_int.isochronous_xfr; temp.did_stall = !xfer->flags_int.control_stall; sc = USS820_DCI_BUS2SC(xfer->xroot->bus); @@ -1120,7 +1121,8 @@ uss820dci_standard_done_sub(struct usb_xfer *xfer) } /* Check for short transfer */ if (len > 0) { - if (xfer->flags_int.short_frames_ok) { + if (xfer->flags_int.short_frames_ok || + xfer->flags_int.isochronous_xfr) { /* follow alt next */ if (td->alt_next) { td = td->obj_next; @@ -1543,7 +1545,7 @@ uss820dci_do_poll(struct usb_bus *bus) } /*------------------------------------------------------------------------* - * at91dci bulk support + * uss820dci bulk support *------------------------------------------------------------------------*/ static void uss820dci_device_bulk_open(struct usb_xfer *xfer) @@ -1580,7 +1582,7 @@ static const struct usb_pipe_methods uss820dci_device_bulk_methods = }; /*------------------------------------------------------------------------* - * at91dci control support + * uss820dci control support *------------------------------------------------------------------------*/ static void uss820dci_device_ctrl_open(struct usb_xfer *xfer) @@ -1617,7 +1619,7 @@ static const struct usb_pipe_methods uss820dci_device_ctrl_methods = }; /*------------------------------------------------------------------------* - * at91dci interrupt support + * uss820dci interrupt support *------------------------------------------------------------------------*/ static void uss820dci_device_intr_open(struct usb_xfer *xfer) @@ -1654,7 +1656,7 @@ static const struct usb_pipe_methods uss820dci_device_intr_methods = }; /*------------------------------------------------------------------------* - * at91dci full speed isochronous support + * uss820dci full speed isochronous support *------------------------------------------------------------------------*/ static void uss820dci_device_isoc_fs_open(struct usb_xfer *xfer) @@ -1736,7 +1738,7 @@ static const struct usb_pipe_methods uss820dci_device_isoc_fs_methods = }; /*------------------------------------------------------------------------* - * at91dci root control support + * uss820dci root control support *------------------------------------------------------------------------* * Simulate a hardware HUB by handling all the necessary requests. *------------------------------------------------------------------------*/ |