Subject: [BK PATCH] USB changes for 2.5.38
From: Greg KH <[email-masked]>
To: [email-masked]
Cc: [email-masked], [email-masked]

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

thanks,

greg k-h

 Documentation/usb/usb-serial.txt    |   14 
 MAINTAINERS                         |    8 
 drivers/usb/core/usb.c              |    1 
 drivers/usb/host/ehci-dbg.c         |   14 
 drivers/usb/host/ehci-hcd.c         |   68 -
 drivers/usb/host/ehci-hub.c         |    3 
 drivers/usb/host/ehci-q.c           |   88 +
 drivers/usb/host/ehci-sched.c       |   71 -
 drivers/usb/host/ehci.h             |   36 
 drivers/usb/host/ohci-hcd.c         |   22 
 drivers/usb/host/ohci-q.c           |  255 ++---
 drivers/usb/misc/Config.help        |   10 
 drivers/usb/misc/usblcd.c           |    8 
 drivers/usb/serial/usb-serial.h     |    1 
 drivers/usb/serial/usbserial.c      |   26 
 drivers/usb/serial/whiteheat.c      | 1164 +++++++++++++++++-------
 drivers/usb/serial/whiteheat.h      |  274 ++++-
 drivers/usb/serial/whiteheat_fw.h   | 1685 ++++++++++++++++++------------------
 drivers/usb/storage/datafab.c       |   41 
 drivers/usb/storage/freecom.c       |   16 
 drivers/usb/storage/jumpshot.c      |   16 
 drivers/usb/storage/raw_bulk.c      |   22 
 drivers/usb/storage/sddr09.c        |   42 
 drivers/usb/storage/sddr55.c        |   58 -
 drivers/usb/storage/shuttle_usbat.c |   22 
 drivers/usb/storage/transport.c     |   59 -
 drivers/usb/storage/transport.h     |   11 
 27 files changed, 2409 insertions(+), 1626 deletions(-)
-----

[email-masked], 2002-09-23 14:30:42-07:00, [email-masked]
  [PATCH] USBLCD updates
  
  -increased timeout value because some people reported problems
  -(important!) Vender ID has changed from 0x1212 to 0x10D2 , my official
    assigned one.
  -added usblcd driver to configure.help

 drivers/usb/misc/Config.help |   10 ++++++++++
 drivers/usb/misc/usblcd.c    |    8 ++++----
 2 files changed, 14 insertions(+), 4 deletions(-)
------

[email-masked], 2002-09-23 14:17:05-07:00, [email-masked]
  [PATCH] usb whiteheat driver update
  
  Update to full working driver status. Latest firmware 4.06 too. Driver
  now officially supported.

 Documentation/usb/usb-serial.txt  |   14 
 MAINTAINERS                       |    8 
 drivers/usb/serial/whiteheat.c    | 1164 ++++++++++++++++++--------
 drivers/usb/serial/whiteheat.h    |  274 ++++--
 drivers/usb/serial/whiteheat_fw.h | 1685 +++++++++++++++++++-------------------
 5 files changed, 1896 insertions(+), 1249 deletions(-)
------

[email-masked], 2002-09-23 14:03:13-07:00, [email-masked]
  [PATCH] USB:  made port_softint global for other usb-serial drivers to use.
  
  Based off of a patch from Stuart MacDonald <[email-masked]>

 drivers/usb/serial/usb-serial.h |    1 +
 drivers/usb/serial/usbserial.c  |   13 ++++++++++---
 2 files changed, 11 insertions(+), 3 deletions(-)
------

[email-masked], 2002-09-23 13:56:54-07:00, [email-masked]
  [PATCH] USB: clean up the error logic for open() in the usb-serial driver
  
  This cleans up the error path in the open() call to make a bit more
  sense.

 drivers/usb/serial/usbserial.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)
------

[email-masked], 2002-09-23 13:54:25-07:00, [email-masked]
  [PATCH] USB: fix for ezusb firmware download
  
  This fixes a stupid error in the timeout value when downloading firmware
  to a device.  The WhiteHEAT device now works properly with this patch.

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

[email-masked], 2002-09-23 13:16:44-07:00, [email-masked]
  [PATCH] usb-storage: fix return codes...
  
  Like the header says, this patch fixes up the various Transfer- and
  Transport-level return codes.  There were a lot of places in the various
  subdrivers that were not particularly careful about distinguishing the
  two; it would help if the people currently maintaining those drivers could
  take a look at my changes to make sure I haven't screwed anything up.
  
  # Converted US_BULK_TRANSFER_xxx to USB_STOR_XFER_xxx, to make it more
  # easily distinguishable from USB_STOR_TRANSPORT_xxx.  (Also, in the
  # future these codes may apply to control transfers as well as to bulk
  # transfers.)
  #
  # Changed USB_STOR_XFER_FAILED to USB_STOR_XFER_ERROR, since it implies
  # a transport error rather than a transport failure.
  #
  # Added a USB_STOR_XFER_STALLED code, to indicate a transfer that was
  # terminated by an endpoint stall.
  
  This patch is in preparation for one in which usb_stor_transfer_partial()
  and usb_stor_transfer() are replaced by usb_stor_bulk_transfer_buf() and
  usb_stor_bulk_transfer_srb() respectively, with slightly different
  argument lists.  Ultimately the subdrivers will be able to use these
  routines in place of the slightly specialized versions they have now and
  in place of the ones in raw_bulk.c.

 drivers/usb/storage/datafab.c       |   41 ++++++++++++-------------
 drivers/usb/storage/freecom.c       |   16 ++++-----
 drivers/usb/storage/jumpshot.c      |   16 ++++-----
 drivers/usb/storage/raw_bulk.c      |   22 ++++++-------
 drivers/usb/storage/sddr09.c        |   42 +++++++++++++++----------
 drivers/usb/storage/sddr55.c        |   58 +++++++++++++++++++++--------------
 drivers/usb/storage/shuttle_usbat.c |   22 +++++++------
 drivers/usb/storage/transport.c     |   59 ++++++++++++++++++------------------
 drivers/usb/storage/transport.h     |   11 +++---
 9 files changed, 156 insertions(+), 131 deletions(-)
------

[email-masked], 2002-09-23 13:16:05-07:00, [email-masked]
  [PATCH] #include <linux/version.h> missing in drivers/usb/host/ohci-hcd.c
  
  compile fails with the following message:
  
  	> In file included from ohci-hcd.c:136:
  	> ohci-dbg.c:318: parse error
  	> make[3]: *** [ohci-hcd.o] Error 1
  
  due to a missing #include <linux/version.h>
  
  Here is a trivial patch for this.

 drivers/usb/host/ohci-hcd.c |    1 +
 1 files changed, 1 insertion(+)
------

[email-masked], 2002-09-23 13:15:28-07:00, [email-masked]
  [PATCH] USB shutdown oopser
  
  is it guarenteed that callers have zero'd out the device
  before this is invoked?  Else the following is necessary to
  prevent potential OOPS's derefencing interface->dev.driver in
  the generic device layer.

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

[email-masked], 2002-09-23 13:14:52-07:00, [email-masked]
  [PATCH] ehci-hcd: update
  
  Here's an EHCI update, I'll send separate patches to sync 2.4 with
  this version.  Changes in this version include:
  
    - An earlier locking update would give trouble on SPARC, where
      irqsave "flags" aren't flags.  This resolves that issue by
      adding a module parameter to limit work done with irqs off.
      (Some net drivers do the same thing.)
  
    - Optionally (now #ifdef DEBUG) collects some statistics on IRQs
      and URBs.  There are more IAA interrupts than I want to see,
      during extended usb-storage loading.
  
    - Adds a commented-out workaround for a problem I've seen on one
      VT8235.  Seems likely an issue with this specific motherboard;
      another tester hasn't reported such issues.
  
    - Includes the jiffies time_after() patch from Tim Schmielau.
  
    - Minor tweaks to the hcd portability (get rid of another #if).
  
    - Minor doc/diagnostic/... updates

 drivers/usb/host/ehci-dbg.c   |   14 ++++++
 drivers/usb/host/ehci-hcd.c   |   68 +++++++++++++++++++-------------
 drivers/usb/host/ehci-hub.c   |    3 -
 drivers/usb/host/ehci-q.c     |   88 +++++++++++++++++++++++++-----------------
 drivers/usb/host/ehci-sched.c |   71 +++++++++++++++++----------------
 drivers/usb/host/ehci.h       |   36 +++++++++++++++++
 6 files changed, 181 insertions(+), 99 deletions(-)
------

[email-masked], 2002-09-23 13:14:20-07:00, [email-masked]
  [PATCH] ohci-hcd, queue fault recovery + rm DEBUG
  
  This USB patch updates the OHCI driver:
  
    - converts to relying on td_list shadowing the hardware's
      schedule; only collecting the donelist needs dma_to_td(),
      and td list handling works much like EHCI or UHCI.
  
    - leaves faulted endpoint queues (bulk/intr) disabled until
      the relevant drivers had a chance to clean up.
  
    - fixes minor bugs (unreported) in the affected code:
        * byteswap problem when unlinking urbs ... symptom would
          be data toggle confusion (since 2.4.2x) on big-endian cpus
        * latent bug if folk unlinked queue in LIFO order, not FIFO
  
    - removes unnecessary debug code; mostly de-BUG()ged
  
  The interesting fix is the "leave queues halted" one.  As
  discussed on email a while back, this HCD fault handling
  policy (also followed by EHCI) is sufficient to let device
  drivers implement the two key fault handling policies that
  seem to be necessary:
  
      (a) Datagram style, where issues on one I/O won't affect
          the next unless the device halted the endpoint.  The
          device driver can ignore most errors other than -EPIPE.
  
      (b) Stream style, where for example it'd be wrong to ever
          let block N+1 overwrite block N on the disk.  Once
          the first URB fails, the rest would just be unlinked
          in the completion handler.
  
  As a consequence of using the td_list, you can now see urb
  queuing in action in the driverfs 'async' file.  At least, if
  you look at the right time, or use drivers (networking, etc)
  that queue (bulk) reads for a long time.

 drivers/usb/host/ohci-hcd.c |   21 +--
 drivers/usb/host/ohci-q.c   |  255 +++++++++++++++++++++++---------------------
 2 files changed, 143 insertions(+), 133 deletions(-)
------