diff options
author | Andrew Thompson <thompsa@FreeBSD.org> | 2010-06-22 20:57:48 +0000 |
---|---|---|
committer | Andrew Thompson <thompsa@FreeBSD.org> | 2010-06-22 20:57:48 +0000 |
commit | a4cadedb58732247495654bdc9dafaee55c4150d (patch) | |
tree | 309d928489f1ea66c71c2f1880e5b0478ac9dd21 /sys/dev/usb | |
parent | ca9d2489c685b47fb38c1fed62de511807159e4e (diff) | |
download | src-a4cadedb58732247495654bdc9dafaee55c4150d.tar.gz src-a4cadedb58732247495654bdc9dafaee55c4150d.zip |
Add support for LOW speed BULK transfers. This mode is not recommended by the
USB 2.0 standard, though some USB devices use it anyway.
Submitted by: Hans Petter Selasky
Notes
Notes:
svn path=/head/; revision=209443
Diffstat (limited to 'sys/dev/usb')
-rw-r--r-- | sys/dev/usb/controller/ehci.c | 4 | ||||
-rw-r--r-- | sys/dev/usb/controller/ohci.c | 4 | ||||
-rw-r--r-- | sys/dev/usb/controller/uhci.c | 4 | ||||
-rw-r--r-- | sys/dev/usb/usb_transfer.c | 2 |
4 files changed, 4 insertions, 10 deletions
diff --git a/sys/dev/usb/controller/ehci.c b/sys/dev/usb/controller/ehci.c index 6f22c0a8e038..40c95241672a 100644 --- a/sys/dev/usb/controller/ehci.c +++ b/sys/dev/usb/controller/ehci.c @@ -3792,9 +3792,7 @@ ehci_ep_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, } break; case UE_BULK: - if (udev->speed != USB_SPEED_LOW) { - ep->methods = &ehci_device_bulk_methods; - } + ep->methods = &ehci_device_bulk_methods; break; default: /* do nothing */ diff --git a/sys/dev/usb/controller/ohci.c b/sys/dev/usb/controller/ohci.c index fa7f23ac1963..0d630d763252 100644 --- a/sys/dev/usb/controller/ohci.c +++ b/sys/dev/usb/controller/ohci.c @@ -2614,9 +2614,7 @@ ohci_ep_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, } break; case UE_BULK: - if (udev->speed != USB_SPEED_LOW) { - ep->methods = &ohci_device_bulk_methods; - } + ep->methods = &ohci_device_bulk_methods; break; default: /* do nothing */ diff --git a/sys/dev/usb/controller/uhci.c b/sys/dev/usb/controller/uhci.c index f87907c4925e..50fdb0d1e868 100644 --- a/sys/dev/usb/controller/uhci.c +++ b/sys/dev/usb/controller/uhci.c @@ -3068,9 +3068,7 @@ uhci_ep_init(struct usb_device *udev, struct usb_endpoint_descriptor *edesc, } break; case UE_BULK: - if (udev->speed != USB_SPEED_LOW) { - ep->methods = &uhci_device_bulk_methods; - } + ep->methods = &uhci_device_bulk_methods; break; default: /* do nothing */ diff --git a/sys/dev/usb/usb_transfer.c b/sys/dev/usb/usb_transfer.c index 535d12bfdef3..e9bd64eafc35 100644 --- a/sys/dev/usb/usb_transfer.c +++ b/sys/dev/usb/usb_transfer.c @@ -3057,7 +3057,7 @@ usbd_get_std_packet_size(struct usb_std_packet_size *ptr, }; static const uint16_t bulk_min[USB_SPEED_MAX] = { - [USB_SPEED_LOW] = 0, /* not supported */ + [USB_SPEED_LOW] = 8, [USB_SPEED_FULL] = 8, [USB_SPEED_HIGH] = 512, [USB_SPEED_VARIABLE] = 512, |