freebsd-skq/sys/dev/usb
Andrew Thompson c8a14b9124 EHCI Hardware BUG workaround
The EHCI HW can use the qtd_next field instead of qtd_altnext when a short
packet is received. This contradicts what is stated in the EHCI datasheet.
Also the total-bytes field in the status field of the following TD gets
corrupted upon reception of a short packet!  We work this around in software by
not queueing more than one job/TD at a time of up to 16Kbytes! The bug has been
seen on multiple INTEL based EHCI chips.  Other vendors have not been tested
yet.

- Applications using /dev/usb/X.Y.Z, where Z is non-zero are affected, but not
  applications using LibUSB v0.1, v1.2 and v2.0.
- Mass Storage (umass) is affected.

Submitted by:	Hans Petter Selasky
MFC after:	3 days
2009-10-01 18:37:16 +00:00
..
controller EHCI Hardware BUG workaround 2009-10-01 18:37:16 +00:00
input - patch for cordump slowdown. Avoid using DELAY(1000) when no 2009-08-24 04:58:42 +00:00
misc - FIFO's are always opened separately in read and write 2009-08-24 04:59:09 +00:00
net Allow setting of MAC address for AXE based ethernet adapters. 2009-09-28 08:05:14 +00:00
quirk Add a config number quirk for the ELSA_MODEM1 2009-09-28 08:09:11 +00:00
serial Add back endpoint swap detection that was disabled in an earlier driver 2009-09-28 08:18:14 +00:00
storage - Remove SAMSUNG_YP_U2 now that it is in the cam layer 2009-09-28 08:00:17 +00:00
template - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
wlan Revert previous commit and add myself to the list of people who should 2009-09-08 13:19:05 +00:00
ufm_ioctl.h Move the new USB stack into its new home. 2009-02-23 18:31:00 +00:00
usb_bus.h Add support for USB language selection. 2009-09-28 07:41:17 +00:00
usb_busdma.c Add a reminder comment to optimize bus_dmamap_sync calls. 2009-08-24 05:03:30 +00:00
usb_busdma.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_cdc.h Add basic support for USB Network Control Model (NCM) v1.0 to if_cdce.c. 2009-09-28 07:53:55 +00:00
usb_compat_linux.c Temporarily revert the new-bus locking for 8.0 release. It will be 2009-08-20 19:17:53 +00:00
usb_compat_linux.h USB CORE - compat Linux: 2009-07-30 00:16:50 +00:00
usb_controller.h USB CORE: 2009-07-30 00:14:34 +00:00
usb_core.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_core.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_debug.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_debug.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_dev.c - Patch to allow USB controller to resume operation after 2009-08-24 05:05:38 +00:00
usb_dev.h USB core: 2009-07-30 00:15:50 +00:00
usb_device.c Correct buffer sizes used so that they match. The old code could give the 2009-09-28 07:42:59 +00:00
usb_device.h MFp4 @ 168387 2009-09-28 07:01:54 +00:00
usb_dynamic.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_dynamic.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_endian.h Fix _USB2_* refernces in the header protection defines. 2009-06-15 01:09:19 +00:00
usb_error.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_freebsd.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_generic.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_generic.h Fix _USB2_* refernces in the header protection defines. 2009-06-15 01:09:19 +00:00
usb_handle_request.c - Patch to allow USB controller to resume operation after 2009-08-24 05:05:38 +00:00
usb_hid.c USB CORE - Improve HID parsing 2009-07-30 00:17:08 +00:00
usb_hub.c MFp4 @ 168387 2009-09-28 07:01:54 +00:00
usb_hub.h Fix _USB2_* refernces in the header protection defines. 2009-06-15 01:09:19 +00:00
usb_if.m Sync to p4 2009-06-27 21:23:30 +00:00
usb_ioctl.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_lookup.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_mbuf.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_mbuf.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_msctest.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_msctest.h Fix _USB2_* refernces in the header protection defines. 2009-06-15 01:09:19 +00:00
usb_parse.c USB core: 2009-07-30 00:15:50 +00:00
usb_pci.h Fix _USB2_* refernces in the header protection defines. 2009-06-15 01:09:19 +00:00
usb_process.c It is possible for all the kthreads to exit (hci modules unloaded) which in 2009-08-25 16:59:55 +00:00
usb_process.h - Patch to allow USB controller to resume operation after 2009-08-24 05:05:38 +00:00
usb_request.c USB core: 2009-07-30 00:15:50 +00:00
usb_request.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_transfer.c Add extra safety locking when clobbering xfer->flags_int.started in start and 2009-09-28 07:46:22 +00:00
usb_transfer.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_util.c - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb_util.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usb.h Add basic support for USB Network Control Model (NCM) v1.0 to if_cdce.c. 2009-09-28 07:53:55 +00:00
usbdevs MFp4 2009-09-28 07:57:23 +00:00
usbdi_util.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00
usbdi.h Missed this file for r195963: 2009-07-30 00:57:54 +00:00
usbhid.h - Make struct usb_xfer opaque so that drivers can not access the internals 2009-06-23 02:19:59 +00:00