Skip to contentSkip to conversation

More USB changes for 2.5.52

PATCH New Greg KH 1 participant 1 message Dec 22, 2002

lore
Share & tools
lore

Greg KH

author
#0 lore raw

PATCH 1/1 More USB changes for 2.5.52

This also includes one patch to device.h to add the dev_printk macro.

Please pull from: bk://linuxusb.bkbits.net/linus-2.5

thanks,

greg k-h

 drivers/usb/class/cdc-acm.c      |    2 
 drivers/usb/core/hcd.c           |   12 +
 drivers/usb/core/hub.c           |   57 ++++-----
 drivers/usb/core/inode.c         |    2 
 drivers/usb/host/ehci-mem.c      |    2 
 drivers/usb/host/ehci-q.c        |  247 ++++++++++++++++++---------------------
 drivers/usb/image/scanner.c      |   33 ++++-
 drivers/usb/image/scanner.h      |   96 ++++++++++-----
 drivers/usb/media/ibmcam.c       |    6 
 drivers/usb/media/stv680.h       |    6 
 drivers/usb/misc/speedtouch.c    |   35 ++---
 drivers/usb/net/cdc-ether.c      |    4 
 drivers/usb/serial/keyspan_pda.c |    4 
 include/linux/device.h           |   15 +-
 14 files changed, 282 insertions(+), 239 deletions(-)

-----

[email protected], 2002-12-21 23:54:35-08:00, [email protected]
[PATCH] dev_printk macro

 include/linux/device.h |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)

------

[email protected], 2002-12-21 23:07:29-08:00, [email protected]
[PATCH] scanner.c: Support for devices with only one bulk-in endpoint

This patch (originally from Sergey Vlasov) adds support for scanners with only one bulk-in endpoint. It's needed by all the GT-6801 based scanners like the Artec Ultima 2000 or some of the Mustek BearPaws.

 drivers/usb/image/scanner.c |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

------

[email protected], 2002-12-21 23:07:03-08:00, [email protected]
[PATCH] scanner.h: add/fix vendor/product ids

This patch adds additional vendor and product ids for Nikon, Mustek, Plustek, Genius, Epson, Canon, Umax, Hewlett-Packard, Benq, Agfa, and Minolta scanners. The entries for Benq, Genius and Plustek scanners have been updated.

I've also increased the version number to 0.4.9 and brought the version numbers in scanner.c and scanner.h in sync.

 drivers/usb/image/scanner.c |   13 +++++
 drivers/usb/image/scanner.h |   96 ++++++++++++++++++++++++++++++--------------
 2 files changed, 78 insertions(+), 31 deletions(-)

------

[email protected], 2002-12-21 23:03:20-08:00, [email protected]
[PATCH] ehci, qtd submit and completions

Quoted 3 lines

... usb-storage gets unhappy when
it decides (why? and unsuccessfully) to reset high speed devices. ...

I don't know if that problem is resolved, but this patch makes the question moot by handling an earlier error correctly.

The patch updates an incorrect test, so a short read will now be treated as one. Please merge.

This lets storage behave again. As in, "mkfs -c" then copy about 8 GB around, then 'dbench'.

 drivers/usb/host/ehci-q.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

------

[email protected], 2002-12-19 15:14:03-08:00, [email protected]
[PATCH] usbcore: rm hub oops, message cleanups, unlink

These changes are unrelated except I ran into them all at once:

- Fixes an oops from a partial hub_configure() clean; let hub_disconnect() do the whole thing, simpler.

- Since I was there, modify that routine's err() messages to use dev_err(). Then eliminate a redundant diagnostic in hub_probe(), and merge the "bad descriptor" cases into one diagnostic. Saves a few hundred rodata bytes, and the messages now say what hub's involved.

- Unlink fixes: if lower level code reports a submit error, make sure the urb gets unlinked from the device's urb_list; and report "it's already being unlinked" as -EBUSY so callers can do something smarter than wonder "what did I do wrong".

 drivers/usb/core/hcd.c |   12 +++++++---
 drivers/usb/core/hub.c |   57 +++++++++++++++++++++++--------------------------
 2 files changed, 36 insertions(+), 33 deletions(-)

------

[email protected], 2002-12-19 15:13:46-08:00, [email protected]
[PATCH] ehci, qtd submit and completions

This ought to address a number of the problems with the recent "dummy td" update as well as some older ones:

- Slims down the qh_append_tds() to remove two pairs of "should be duplicate" logic so that
* qh_make() only creates and initializes;
* qh_append_tds() calls it earlier;
* always appends with dummy, no routine qh updates.

- Reworked qh_completions() ... simpler, better.
* two notable FIXMEs gone, and a bug related to how they interacted with scatterlist i/o
* fixed bugs (including one oops) exposed by using dummies more.

Passes basic testing: most 'usbtest' cases, usb2 hub with keyboard and CF adapter, storage enumeration. So it seems less troublesome, though it's still not as happy as I've seen it.

However, "testusb -at12" (running 'write unlink' tests) still fails for me, and usb-storage gets unhappy when it decides (why? and unsuccessfully) to reset high speed devices. I'm still chasing those problems, which seem to come from higher up in the stack.

 drivers/usb/host/ehci-mem.c |    2 
 drivers/usb/host/ehci-q.c   |  244 ++++++++++++++++++++------------------------
 2 files changed, 117 insertions(+), 129 deletions(-)

------

[email protected], 2002-12-19 14:23:57-08:00, [email protected]
[PATCH] USB: fix the spelling of "deprecated".

Thanks to Randy Dunlap for pointing this out.

 drivers/usb/core/inode.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

------

[email protected], 2002-12-19 12:11:06-08:00, [email protected]
[PATCH] USB cdc-ether: GFP_KERNEL in interrupt

cdc-ether has the same problem as cdc-acm.
- usb_submit_urb() under spinlock or in interrupt must use GFP_ATOMIC

 drivers/usb/net/cdc-ether.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

------

[email protected], 2002-12-19 12:10:47-08:00, [email protected]
[PATCH] USB cdc-acm: missed a GFP_KERNEL in interrupt

the patch turns it into GFP_ATOMIC.

 drivers/usb/class/cdc-acm.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

------

[email protected], 2002-12-19 12:10:31-08:00, [email protected]
[PATCH] USB: speedtouch possible deadlock in atm_close path

this removes the spinlocks in close, so that
the synchronous unlinking is safe.

 drivers/usb/misc/speedtouch.c |    3 ---
 1 files changed, 3 deletions(-)

------

[email protected], 2002-12-19 12:10:13-08:00, [email protected]
[PATCH] USB: remove obviously broken code from the speedtouch disconnect handler

I am not sure what this code was supposed to do, but it can stop khubd indefinitely. It has to go.

 drivers/usb/misc/speedtouch.c |    5 -----
 1 files changed, 5 deletions(-)

------

[email protected], 2002-12-19 12:09:56-08:00, [email protected]
[PATCH] USB: speedtouch reentrancy race through usbfs

speedtouch povides an ioctl handler through usbfs. It must not be reentered. A semaphore ensures that.

 drivers/usb/misc/speedtouch.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

------

[email protected], 2002-12-19 12:09:37-08:00, [email protected]
[PATCH] USB: speedtouch remove error handling with usb_clear_halt

usb_clear_halt cannot be used from a completion handler because it sleeps As that code path would have crashed the driver, it's obviously not needed and can be removed.

 drivers/usb/misc/speedtouch.c |    3 ---
 1 files changed, 3 deletions(-)

------

[email protected], 2002-12-19 12:09:18-08:00, [email protected]
[PATCH] USB: more spinlock work for speedtouch

- simple spinlocks will do

 drivers/usb/misc/speedtouch.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

------

[email protected], 2002-12-19 12:09:01-08:00, [email protected]
[PATCH] USB: simplify spinlocks in send path for speedtouch

irqsave spinlocks in an interrupt handler are superfluous. Simple spinlocks are sufficient and quicker. As this is in interrupt context, every cycle counts.

 drivers/usb/misc/speedtouch.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

------

[email protected], 2002-12-19 12:07:51-08:00, [email protected]
[PATCH] namespace pollution in ibmcam driver

The variable 'cams' should be static.
Don't initialize to 0, while we're here.

 drivers/usb/media/ibmcam.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

------

[email protected], 2002-12-19 12:07:31-08:00, [email protected]
[PATCH] namespace pollution in STV0680 camera driver

Variables should not be defined in a header file. This slightly improves the driver by making them static instead of global.

 drivers/usb/media/stv680.h |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

------

[email protected], 2002-12-17 09:33:01-08:00, [email protected]
[PATCH] USB: keyspan_pda: fix up the short names, as they were too big.

 drivers/usb/serial/keyspan_pda.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

------