From: Greg KH To: torvalds@transmeta.com Cc: linux-usb-devel@lists.sourceforge.net Subject: [BK PATCH] USB changes for 2.5.8 This includes changes previously sent against 2.5.8-pre3, but were never pulled into your repository. Pull from: bk://linuxusb.bkbits.net/linus-2.5 Documentation/usb/dc2xx.txt | 111 ---- drivers/usb/image/dc2xx.c | 538 --------------------- drivers/usb/class/audio.c | 6 drivers/usb/class/cdc-acm.c | 82 ++- drivers/usb/core/devio.c | 20 drivers/usb/core/hcd.c | 39 - drivers/usb/core/hcd.h | 2 drivers/usb/core/hub.c | 22 drivers/usb/core/usb.c | 62 -- drivers/usb/host/ehci-dbg.c | 2 drivers/usb/host/ehci-hcd.c | 23 drivers/usb/host/ehci-hub.c | 8 drivers/usb/host/ehci-mem.c | 8 drivers/usb/host/ehci-q.c | 18 drivers/usb/host/ehci-sched.c | 10 drivers/usb/host/ohci-dbg.c | 6 drivers/usb/host/ohci-hcd.c | 42 - drivers/usb/host/ohci-hub.c | 4 drivers/usb/host/uhci.c | 1 drivers/usb/host/usb-ohci.c | 1 drivers/usb/host/usb-uhci.c | 1 drivers/usb/image/Config.help | 11 drivers/usb/image/Config.in | 5 drivers/usb/image/Makefile | 1 drivers/usb/misc/tiglusb.c | 5 drivers/usb/net/Config.in | 6 drivers/usb/net/catc.c | 14 drivers/usb/net/kaweth.c | 279 +++++++---- drivers/usb/net/pegasus.c | 973 +++++++++++++++++++-------------------- drivers/usb/net/pegasus.h | 11 drivers/usb/net/rtl8150.c | 521 +++++++++++--------- drivers/usb/net/usbnet.c | 62 +- drivers/usb/serial/ftdi_sio.c | 1 drivers/usb/serial/keyspan_pda.c | 17 drivers/usb/serial/usbserial.c | 49 + drivers/usb/storage/Makefile | 18 include/linux/usb.h | 33 + 37 files changed, 1294 insertions(+), 1718 deletions(-) ------ ChangeSet@1.494, 2002-04-16 11:13:50-07:00, oliver@oenone.homelinux.org [PATCH] kaweth usb driver updates USB kaweth driver updates - fixed race between close and disconnect - disconnect bug - add link state reporting - fix an urb reference counting bug - fix probe oopsability on oom - groundwork for atomic pool depletion - cosmetic changes drivers/usb/net/kaweth.c | 84 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 74 insertions(+), 10 deletions(-) ------ ChangeSet@1.493, 2002-04-16 09:38:57-07:00, rusty@rustcorp.com.au [PATCH] USB set-bit takes a long tweaks This removes gratuitous & operators in front of USB's dev->bus->devmap.devicemap and state->unitbitmap, for bitops. This just makes it so it doesn't warn when set_bit et. al take a long... No object code changes, Rusty. drivers/usb/class/audio.c | 4 ++-- drivers/usb/core/hub.c | 4 ++-- drivers/usb/core/usb.c | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) ------ ChangeSet@1.492, 2002-04-15 16:39:18-07:00, greg@kroah.com USB cdc-acm driver Made urb allocation dynamic, as the USB core needs this now. drivers/usb/class/cdc-acm.c | 82 +++++++++++++++++++++++++++++--------------- 1 files changed, 55 insertions(+), 27 deletions(-) ------ ChangeSet@1.491, 2002-04-15 14:47:51-07:00, petkan@mastika.lnxw.com [PATCH] various pegasus and rtl8150 fixes and improvements USB pegasus and rtl8150 fixes and improvements pegasus: - using preallocated skb thus avoiding memcpy in the receive path; - tasklet used to handle failed skb allocations and Rx urb submission; - Lindent run on the result. rtl8150: - better tasklet handling and a few races fixed; - introducing new flag for Rx urb resubmission; - GFP_KERNEL to GFP_ATOMIC flag change in Tx path. drivers/usb/net/pegasus.c | 968 +++++++++++++++++++++++----------------------- drivers/usb/net/pegasus.h | 11 drivers/usb/net/rtl8150.c | 47 +- 3 files changed, 524 insertions(+), 502 deletions(-) ------ ChangeSet@1.456.2.11, 2002-04-12 10:43:09-07:00, sailer@scs.ch [PATCH] Wrong sanity check in audio.c Even though I originally implemented it, the sanity check removed by the patch below seems wrong to me... drivers/usb/class/audio.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) ------ ChangeSet@1.456.2.10, 2002-04-12 10:41:00-07:00, david-b@pacbell.net [PATCH] USB devio device removal fix USB devio device removal fix Fixes problem with using usbfs and a device is removed while the device still has pending events. drivers/usb/core/devio.c | 20 +++++++++++++++++--- 1 files changed, 17 insertions(+), 3 deletions(-) ------ ChangeSet@1.456.2.9, 2002-04-12 10:39:07-07:00, david-b@pacbell.com [PATCH] USB minor ehci cleanup USB minor ehci cleanup This patch just does minor internal cleanup, renaming to match the put/get convention used elsewhere in Linux. (Get ref, put it back ... not "putting a new ref here".) drivers/usb/host/ehci-hcd.c | 2 +- drivers/usb/host/ehci-mem.c | 8 ++++---- drivers/usb/host/ehci-q.c | 16 ++++++++-------- drivers/usb/host/ehci-sched.c | 10 +++++----- 4 files changed, 18 insertions(+), 18 deletions(-) ------ ChangeSet@1.456.2.8, 2002-04-11 11:16:47-07:00, greg@kroah.com USB serial core added /proc support through the tty layer. drivers/usb/serial/usbserial.c | 49 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 48 insertions(+), 1 deletion(-) ------ ChangeSet@1.456.2.7, 2002-04-11 11:09:29-07:00, greg@kroah.com USB serial drivers added missing owner fields. drivers/usb/serial/ftdi_sio.c | 1 + drivers/usb/serial/keyspan_pda.c | 17 ++++++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) ------ ChangeSet@1.456.2.6, 2002-04-10 16:29:08-07:00, rlievin@free.fr [PATCH] tiglusb mutex bugfix USB tiglusb driver Fixes a locking bug, and changes the command line option, as it was clashing with another part of the kernel. drivers/usb/misc/tiglusb.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) ------ ChangeSet@1.456.2.5, 2002-04-10 11:37:54-07:00, oliver@neukum.org [PATCH] catc: GFP_KERNEL in interrupt or with spinlocks held bad usage of mem_flags in catc. drivers/usb/net/catc.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) ------ ChangeSet@1.456.2.4, 2002-04-10 11:11:00-07:00, oliver@oenone.homelinux.org [PATCH] USB kaweth: fix races between timeout, xmit and disconnect USB kaweth driver update - always set the ASYNC_UNLINK flag for the tx urb - correct cancelling the tx urb under all circumstances - detect a running disconnect method in xmit path - fix a potential deadlock by using GFP_NOIO drivers/usb/net/kaweth.c | 195 +++++++++++++++++++++++++++-------------------- 1 files changed, 113 insertions(+), 82 deletions(-) ------ ChangeSet@1.456.2.3, 2002-04-10 10:42:42-07:00, petkan@mastika.lnxw.com [PATCH] put some usb net devices out of the experimental list USB network drivers put some usb net devices out of the experimental list drivers/usb/net/Config.in | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) ------ ChangeSet@1.456.2.2, 2002-04-10 10:41:13-07:00, johannes@erdfelt.com [PATCH] Re: removing sleep_on in hub.c On Mon, Apr 08, 2002, Oliver Neukum wrote: > using sleep_on is a race. The attached patch replaces it with the > new wait_event macro from sched.h. The patch is against the 2.5 > from Greg. Greg, I've tested this against 2.4.19-pre6 as well and the attached patch is relative to that. Please apply. Thank Oliver! drivers/usb/core/hub.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) ------ ChangeSet@1.369.105.19, 2002-04-09 14:23:22-07:00, pmanolov@Lnxw.COM [PATCH] rtl8150 for 2.5 This one is fixing the problems Oliver spoted. Namely: - double free in probe(); - Rx skb pool resolves the issue with OOM condition in read_bulk_callback() which potentially kills the Rx path; drivers/usb/net/rtl8150.c | 469 ++++++++++++++++++++++++++-------------------- 1 files changed, 266 insertions(+), 203 deletions(-) ------ ChangeSet@1.369.105.18, 2002-04-09 14:19:53-07:00, david-b@pacbell.net [PATCH] USB GeneLink/NDIS tweaks USB GeneLink/NDIS tweaks This patch, from Oliver, discards slightly less data in cases where memory is very tight. The GeneLink framing can batch several packets in one transmission, so it's always possible to at least report the last one, since it's already sitting in an SKB and we won't need a new one. Random note, this seems to be the same issue I saw mentioned somewhere else recently: MSFT host drivers with high latency for submitting bulk packets, so rather than just queuing them as they arrive, it turns out to be a win on the MSFT side to batch packets. drivers/usb/net/usbnet.c | 28 ++++++++++++++-------------- 1 files changed, 14 insertions(+), 14 deletions(-) ------ ChangeSet@1.369.105.17, 2002-04-09 14:18:04-07:00, david-b@pacbell.net [PATCH] USB net drivers, ethtool bus_info USB net drivers, ethtool bus_info This patch makes the USB network drivers that have ethtool support expose only those stable IDs ... no more references to unstable values like dev->bus->busnum (changes depending on order of modprobe) or dev->devnum (assigned not quite randomly during enumeration :). This supports more intelligent policies for user mode tools, such as "always assign this address to the device on that port", as well as making troubleshooting more practical when there are multiple devices (of a given type) present ... you can tell which is which. drivers/usb/net/catc.c | 8 +++----- drivers/usb/net/pegasus.c | 5 +---- drivers/usb/net/rtl8150.c | 5 +---- drivers/usb/net/usbnet.c | 34 +++++++++++++++------------------- 4 files changed, 20 insertions(+), 32 deletions(-) ------ ChangeSet@1.369.105.16, 2002-04-09 14:16:42-07:00, david-b@pacbell.net [PATCH] USB physical paths id This provides something that gets discussed regularly: stable device IDs. Straightforward; most of it was already present: - Moves "bus_name" out of HCD framework into usb_bus. This accounts for _by far the bulk_ of this patch, since every use of that original field needed to change. - Make Vojtech's usb_make_path() use bus_name instead of unstable bus numbers ... and usb_device->devpath instead of recomputing that same info. Combine two stable IDs, and the result is still stable. And since both are precomputed, usb_make_path() turns into only an error check wrapped around snprintf() ... so I inlined it. - Minor tweak to usb_device->devpath construction. It still uses "/" for the root hub (better suggestions?) but Vojtech wanted "." for separators, so I changed that. - The older HCDs (uhci.c etc) initialize usb_bus.bus_name, as well as the sharable HCD framework - HCD framework no longer uses "bus" member. These IDs are currently exposed in "input" hotplugging, and my next patch addresses that for USB network devices. drivers/usb/core/hcd.c | 39 +++++++++++++++------------------- drivers/usb/core/hcd.h | 2 - drivers/usb/core/hub.c | 16 +++++++------- drivers/usb/core/usb.c | 50 -------------------------------------------- drivers/usb/host/ehci-dbg.c | 2 - drivers/usb/host/ehci-hcd.c | 21 ++++++++---------- drivers/usb/host/ehci-hub.c | 8 +++---- drivers/usb/host/ehci-q.c | 2 - drivers/usb/host/ohci-dbg.c | 6 ++--- drivers/usb/host/ohci-hcd.c | 42 ++++++++++++++++++------------------ drivers/usb/host/ohci-hub.c | 4 +-- drivers/usb/host/uhci.c | 1 drivers/usb/host/usb-ohci.c | 1 drivers/usb/host/usb-uhci.c | 1 include/linux/usb.h | 33 ++++++++++++++++++++++++++++- 15 files changed, 103 insertions(+), 125 deletions(-) ------ ChangeSet@1.369.105.15, 2002-04-09 14:08:38-07:00, greg@kroah.com removed unused usb storage makefile rules. drivers/usb/storage/Makefile | 18 ++++++++---------- 1 files changed, 8 insertions(+), 10 deletions(-) ------ ChangeSet@1.369.105.14, 2002-04-09 09:52:28-07:00, greg@kroah.com USB - removed the dc2xx driver Documentation/usb/dc2xx.txt | 111 -------- drivers/usb/image/dc2xx.c | 538 ------------------------------------------ drivers/usb/image/Config.help | 11 drivers/usb/image/Config.in | 5 drivers/usb/image/Makefile | 1 5 files changed, 2 insertions(+), 664 deletions(-) ------