From: Greg KH To: marcelo@conectiva.com.br Cc: linux-usb-devel@lists.sourceforge.net Subject: [BK PATCH] USB changes for 2.4.19-pre4 Pull from: bk://linuxusb.bkbits.net/marcelo-2.4 The individual patches will be sent in follow up messages to this email. thanks, greg k-h Documentation/usb/proc_usb_info.txt | 183 +++++++++-- drivers/usb/devices.c | 134 ++++++-- drivers/usb/hid-core.c | 34 +- drivers/usb/hid.h | 2 drivers/usb/hpusbscsi.c | 56 ++- drivers/usb/hpusbscsi.h | 7 drivers/usb/hub.c | 8 drivers/usb/kaweth.c | 1 drivers/usb/pegasus.c | 63 ++- drivers/usb/pegasus.h | 2 drivers/usb/printer.c | 595 +++++++++++++++++++++++++++--------- drivers/usb/pwc-ctrl.c | 515 +++++++++++++++++++++++++++---- drivers/usb/pwc-if.c | 113 +++++- drivers/usb/pwc-ioctl.h | 65 +++ drivers/usb/pwc-misc.c | 2 drivers/usb/pwc-uncompress.c | 2 drivers/usb/pwc-uncompress.h | 6 drivers/usb/pwc.h | 9 drivers/usb/serial/ipaq.c | 38 +- drivers/usb/serial/visor.c | 6 drivers/usb/serial/visor.h | 1 drivers/usb/uhci.c | 7 drivers/usb/usb-ohci.c | 9 drivers/usb/usb.c | 2 24 files changed, 1489 insertions(+), 371 deletions(-) ------ ChangeSet@1.225, 2002-03-22 14:36:44-08:00, greg@kroah.com USB visor driver Added support for the Palm m130 device, thanks to Udo Eisenbarth for the information. drivers/usb/serial/visor.c | 6 ++++++ drivers/usb/serial/visor.h | 1 + 2 files changed, 7 insertions(+) ------ ChangeSet@1.226, 2002-03-22 14:40:07-08:00, petkan@mastika. USB pegasus driver fix problem which cause hotplug/unplug crash the kernel drivers/usb/pegasus.c | 63 +++++++++++++++++++++++++++++++++++--------------- drivers/usb/pegasus.h | 2 - 2 files changed, 46 insertions(+), 19 deletions(-) ------ ChangeSet@1.227, 2002-03-22 14:43:38-08:00, oliver@oenone.homelinux.org USB hpusbscsi driver some scanners need special handling of request sense drivers/usb/hpusbscsi.c | 56 +++++++++++++++++++++++++++++++++++++++++------- drivers/usb/hpusbscsi.h | 7 ++++++ 2 files changed, 55 insertions(+), 8 deletions(-) ------ ChangeSet@1.228, 2002-03-22 14:44:41-08:00, oliver@oenone.homelinux.org USB kaweth driver added support for the Optus@Home UEP1045A device. drivers/usb/kaweth.c | 1 + 1 files changed, 1 insertion(+) ------ ChangeSet@1.229, 2002-03-22 14:46:28-08:00, paschal@rcsis.com USB printer driver General driver update: - bind to 7/1/2 alternate setting by default, to fix printing with HP LaserJet 1200 and 2200 - ioctls needed by the GPL user-mode IEEE 1284.4 driver which is part of the HP OfficeJet Linux driver (http://hpoj.sourceforge.net): - dynamic switching between 7/1/[123] alternate settings - sending HP vendor-specific channel-change-request to support memory card readers on HP PhotoSmart printers - inquire more information about the peripheral, including /proc/bus/usb/xx/yy linkage to get even more information - fix apparent array overflow (by 1 entry) in usblp_probe when more than the maximum number of USB printers are connected - added lots of new devices to the quirks list. drivers/usb/printer.c | 595 +++++++++++++++++++++++++++++++++++++------------- 1 files changed, 451 insertions(+), 144 deletions(-) ------ ChangeSet@1.230, 2002-03-22 14:47:54-08:00, vojtech@suse.cz USB HID driver Workaround for the ATEN keyboard switches drivers/usb/hid-core.c | 34 ++++++++++++++++++++++++++-------- drivers/usb/hid.h | 2 ++ 2 files changed, 28 insertions(+), 8 deletions(-) ------ ChangeSet@1.231, 2002-03-22 14:49:47-08:00, nemosoft@smcc.demon.nl USB pwc driver Well, this driver is nearing its completion... With this latest patch, nearly all of the extended features that the cameras support are available. About time :) This is the changelog: * Added ID's for Visionite VCS UM100 and UC300 * Removed YUV420-interlaced palette altogether (was confusing) * Removed MIRROR stuff as it didn't work anyway * Fixed a problem with the 'leds' parameter (wouldn't blink) * Added ioctl()s for advanced features: 'extended' whitebalance ioctl()s, CONTOUR, BACKLIGHT, FLICKER, DYNNOISE. * VIDIOCGCAP.name now contains real camera model name instead of 'Philips xxx webcam' * Added PROBE ioctl (see previous point & API doc) drivers/usb/pwc-ctrl.c | 515 +++++++++++++++++++++++++++++++++++++------ drivers/usb/pwc-if.c | 113 +++++++-- drivers/usb/pwc-ioctl.h | 65 ++++- drivers/usb/pwc-misc.c | 2 drivers/usb/pwc-uncompress.c | 2 drivers/usb/pwc-uncompress.h | 6 drivers/usb/pwc.h | 9 7 files changed, 605 insertions(+), 107 deletions(-) ------ ChangeSet@1.232, 2002-03-22 15:07:02-08:00, greg@kroah.com USB hub remove duplicate check. Thanks to Itai Nahshon for pointing this out. drivers/usb/hub.c | 4 ---- 1 files changed, 4 deletions(-) ------ ChangeSet@1.233, 2002-03-22 15:10:27-08:00, greg@kroah.com USB hub changed the interval for checking if the device is connected yet or not. Thanks to Itai Nahshon for the information. drivers/usb/hub.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) ------ ChangeSet@1.234, 2002-03-22 15:18:01-08:00, ganesh@tuxtop.vxindia.veritas.com USB ipaq driver Don't submit urbs while holding spinlocks drivers/usb/serial/ipaq.c | 38 +++++++++++++++++++++++++------------- 1 files changed, 25 insertions(+), 13 deletions(-) ------ ChangeSet@1.235, 2002-03-22 15:19:09-08:00, david-b@pacbell.net USB ohci and unlink-in-completion This fixes the problem Stuart reported, where interrupt urbs couldn't be unlinked from their completion handlers, and it also makes OHCI return the correct status code for async unlink requests (-EINPROGRESS not zero). drivers/usb/usb-ohci.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) ------ ChangeSet@1.236, 2002-03-22 15:20:28-08:00, david-b@pacbell.net USB update documentation This updates linux/Documentation/usb/proc_usb_info.txt to: - refer to "usbfs" - describe the /proc/bus/usb/BBB/DDD files - more info about the .../drivers and .../devices - ... generally, gives more information. Documentation/usb/proc_usb_info.txt | 183 +++++++++++++++++++++++++++++------- 1 files changed, 152 insertions(+), 31 deletions(-) ------ ChangeSet@1.237, 2002-03-22 15:24:12-08:00, johannes@erdfelt.com USB uhci driver update (3 updates in one, greg k-h merged them) *** [PATCH] uhci.c 2.4.19-pre3 kmem_cache_alloc flags My previous patch which cleaned up some of the spinlocks, moved one of the spinlocks around a call to kmem_cache_alloc. It would sometimes erroneously call it with GFP_KERNEL. This patch fixes the problem by always calling it with GFP_ATOMIC. Thanks to Greg for pointing this out to me. *** [PATCH] uhci.c 2.4.19-pre3 erroneous completion callback uhci.c would call the completion callback when the call to submit_urb failed. This is a rare situation. This patch only calls the completion handler if the URB successfully completed immediately (as in the case of talking to the virtual root hub). *** [PATCH] uhci.c 2.4.19-pre3 interrupt deadlock Unfortunately, I left out one line from my spinlock cleanup patch recently. As a result, using interrupt URB's could cause a deadlock on SMP kernels. drivers/usb/uhci.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) ------ ChangeSet@1.238, 2002-03-22 15:26:23-08:00, greg@kroah.com USB core change a message from a warning to a debug message (it's not that important). drivers/usb/usb.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) ------ ChangeSet@1.239, 2002-03-22 15:30:56-08:00, david-b@pacbell.net USB usbfs periodic endpoint/bandwidth reporting - Shows isochronous periods correctly (logarithmic encoding, possibly 1/2/4 microframes if highspeed) - Likewise for high-speed interrupt periods (similar) - Makes high bandwidth endpoints look like they just do bigger packets (up to 3 KBytes/uframe) - Shows highspeed bandwidth correctlly (80% reserved, vs 90% reserved for full/low speed). drivers/usb/devices.c | 134 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 105 insertions(+), 29 deletions(-)