From: Greg KH To: torvalds@transmeta.com Cc: linux-usb-devel@lists.sourceforge.net Subject: [BK PATCH] USB changes for 2.5.15 Pull from: http://linuxusb.bkbits.net/linus-2.5 drivers/usb/core/hub.c | 99 +++ drivers/usb/core/hub.h | 28 drivers/usb/core/usb.c | 7 drivers/usb/host/ehci-hcd.c | 97 ++- drivers/usb/host/ehci-q.c | 19 drivers/usb/host/uhci.c | 57 + drivers/usb/storage/Config.help | 4 drivers/usb/storage/Config.in | 1 drivers/usb/storage/Makefile | 1 drivers/usb/storage/datafab.c | 38 + drivers/usb/storage/debug.c | 11 drivers/usb/storage/freecom.c | 2 drivers/usb/storage/isd200.c | 362 +++++------ drivers/usb/storage/jumpshot.c | 43 + drivers/usb/storage/protocol.c | 68 +- drivers/usb/storage/scsiglue.c | 133 +--- drivers/usb/storage/sddr09.c | 33 - drivers/usb/storage/sddr55.c | 1135 ++++++++++++++++++++++++++++++++++++ drivers/usb/storage/sddr55.h | 34 + drivers/usb/storage/shuttle_usbat.c | 25 drivers/usb/storage/transport.c | 583 +++++++++++------- drivers/usb/storage/transport.h | 8 drivers/usb/storage/unusual_devs.h | 87 ++ drivers/usb/storage/usb.c | 33 - drivers/usb/storage/usb.h | 13 include/linux/usb.h | 19 26 files changed, 2283 insertions(+), 657 deletions(-) ------ ChangeSet@1.543, 2002-05-11 22:18:37-07:00, greg@kroah.com USB storage added Sandisk SDDR-55 driver from Simon Munton drivers/usb/storage/Config.help | 4 drivers/usb/storage/Config.in | 1 drivers/usb/storage/Makefile | 1 drivers/usb/storage/sddr55.c | 1135 +++++++++++++++++++++++++++++++++++++ drivers/usb/storage/sddr55.h | 34 + drivers/usb/storage/transport.h | 3 drivers/usb/storage/unusual_devs.h | 8 drivers/usb/storage/usb.c | 12 8 files changed, 1198 insertions(+) ------ ChangeSet@1.542, 2002-05-11 22:05:14-07:00, greg@kroah.com USB storage drivers fix for scsi memory address changes. Now the datafab and jumpshot drivers build properly. drivers/usb/storage/datafab.c | 8 ++++---- drivers/usb/storage/jumpshot.c | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) ------ ChangeSet@1.541, 2002-05-11 22:04:21-07:00, greg@kroah.com USB storage fixed typo in variable name. drivers/usb/storage/shuttle_usbat.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) ------ ChangeSet@1.540, 2002-05-11 21:48:09-07:00, greg@kroah.com USB storage sync up with both the -dj and cvs version of the usb-storage code. drivers/usb/storage/datafab.c | 30 + drivers/usb/storage/debug.c | 11 drivers/usb/storage/freecom.c | 2 drivers/usb/storage/isd200.c | 362 ++++++++++------------ drivers/usb/storage/jumpshot.c | 35 +- drivers/usb/storage/protocol.c | 68 ++-- drivers/usb/storage/scsiglue.c | 133 +++----- drivers/usb/storage/sddr09.c | 33 -- drivers/usb/storage/shuttle_usbat.c | 23 - drivers/usb/storage/transport.c | 583 ++++++++++++++++++++++-------------- drivers/usb/storage/transport.h | 5 drivers/usb/storage/unusual_devs.h | 79 ++++ drivers/usb/storage/usb.c | 21 - drivers/usb/storage/usb.h | 13 14 files changed, 832 insertions(+), 566 deletions(-) ------ ChangeSet@1.539, 2002-05-11 21:16:49-07:00, johannes@erdfelt.com [PATCH] uhci.c FSBR timeout There was a discussion a long time ago about how safe the bit operations were as well as recently. set_bit/clear_bit are not safe on x86 UP, nor are they safe on other architectures. It's also unclear from the UHCI spec if the HC's are safe with respect to atomic updates to the status field. This patch ditches all of the uses of set_bit and clear_bit and changes the algorithm that depended on it. The FSBR timeout algorithm would reenable FSBR for transfers when they started making progress again. So instead of trying for this best case, we convert the transfer over to depth first from the standard breadth first. To make sure the transfer doesn't hog all of the bandwidth, every 5th TD is left in breadth first mode. This will ensure other transfers get some bandwidth. It's not perfect, but I think it's a good compromise. Note: td->info is read only by the HC, so we can touch it whenever we want. drivers/usb/host/uhci.c | 57 +++++++++++++++++++++++++++--------------------- 1 files changed, 33 insertions(+), 24 deletions(-) ------ ChangeSet@1.538, 2002-05-11 21:16:35-07:00, david-b@pacbell.net [PATCH] -- hub/tt error recovery This patch adds missing functionality to the transaction translator support for USB 2.0 hubs: - moves the 'struct usb_tt' definition to "hub.h" from - adds state to it as neeed for some control/bulk error recovery - teaches the hub driver how to use that state (via keventd) - adds a call letting HCDs trigger that recovery drivers/usb/core/hub.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ drivers/usb/core/hub.h | 28 +++++++++++++ drivers/usb/core/usb.c | 7 +-- include/linux/usb.h | 19 +-------- 4 files changed, 133 insertions(+), 20 deletions(-) ------ ChangeSet@1.537, 2002-05-11 21:16:19-07:00, david-b@pacbell.net [PATCH] -- ehci misc FIXMEs This addresses FIXME comments in the EHCI code, notably: - telling the hub driver to clear up TT error state (relies on the hub error recovery patch I just sent) - using 64bit PCI DMA where appropriate - handling BIOS handoff as neeed drivers/usb/host/ehci-hcd.c | 97 +++++++++++++++++++++++++++++++------------- drivers/usb/host/ehci-q.c | 19 ++++---- 2 files changed, 78 insertions(+), 38 deletions(-)