From f9d69ba973efe78d44755e5d7546a4baff2752a9 Mon Sep 17 00:00:00 2001 From: thompsa Date: Fri, 19 Nov 2010 01:29:20 +0000 Subject: [PATCH] MFC r209443 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. git-svn-id: svn://svn.freebsd.org/base/stable/8@215482 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/dev/usb/controller/ehci.c | 4 +--- sys/dev/usb/controller/ohci.c | 4 +--- sys/dev/usb/controller/uhci.c | 4 +--- 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 8de1c47ad..fcfc7952f 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 fa7f23ac1..0d630d763 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 f87907c49..50fdb0d1e 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 535d12bfd..e9bd64eaf 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, -- 2.45.0