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

Hi,

Here are some small USB fixes and cleanups for 2.5.72.  Biggest thing
here was deleting a driver that wasn't being built or used anymore.

Please pull from:  bk://kernel.bkbits.net/gregkh/linux/linus-2.5

Patches will be posted to linux-usb-devel as a follow-up thread for
those who want to see them.

thanks,

greg k-h

 MAINTAINERS                        |    2 
 drivers/usb/class/usblp.c          |   24 
 drivers/usb/core/inode.c           |    4 
 drivers/usb/core/message.c         |    2 
 drivers/usb/net/usbnet.c           |    2 
 drivers/usb/serial/ftdi_sio.c      | 1976 ++++++++++++++++++++++++++++---------
 drivers/usb/serial/ftdi_sio.h      |  188 ++-
 drivers/usb/storage/datafab.c      |   90 +
 drivers/usb/storage/freecom.c      |   33 
 drivers/usb/storage/initializers.c |   36 
 drivers/usb/storage/unusual_devs.h |   10 
 drivers/usb/usb-skeleton.c         |    3 
 12 files changed, 1752 insertions(+), 618 deletions(-)
-----

[email-masked], 2003-07-10 13:18:12-07:00, [email-masked]
  [PATCH] USB: remove pointless warning about using usbdevfs
  
  This is being printed when it shouldn't, but there really isn't an
  easy way to fix it.  This closes bug #223.

 drivers/usb/core/inode.c |    4 ----
 1 files changed, 4 deletions(-)
------

[email-masked], 2003-07-09 21:51:31-07:00, [email-masked]
  [PATCH] USB: Updates for unusual_devs.h
  
  These changes to unusual_devs.h can be applied to both 2.5 and 2.4.  They
  reflect reports from users in response to the new kernel log messages
  about unneeded entries in the file.

 drivers/usb/storage/unusual_devs.h |   10 ++--------
 1 files changed, 2 insertions(+), 8 deletions(-)
------

[email-masked], 2003-07-09 21:05:29-07:00, [email-masked]
  [PATCH] USB: fix up my USB Bluetooth entry to help prevent confusion in the future.

 MAINTAINERS |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)
------

[email-masked], 2003-07-09 20:52:35-07:00, [email-masked]
  [PATCH] USB: usbnet, don't NET_XMIT_DROP
  
  Martin Diehl pointed out that the network layer treats
  a tx drop notification in special ways, so "usbnet"
  shouldn't be using them.  This fixes that problem,
  which could potentially explain some infrequent oopsing
  seen in the network layer.  (With memory so tight that
  an URB can't be gotten.)
  
  Please merge.

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

[email-masked], 2003-07-09 20:52:04-07:00, [email-masked]
  [PATCH] USB: usb_get_string(), don't use bogus ids
  
  This fixes a problem that's been around for some time:
  usbcore will sometimes use un-initialized memory as if
  it holds a valid language code.

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

[email-masked], 2003-07-09 20:51:38-07:00, [email-masked]
  [PATCH] USB: Small correction to usb-skeleton.c
  
  This fixes a minor error in usb-skeleton's disconnect() routine: if the
  interface's private data is NULL, the current code exits without releasing
  the disconnect_sem semaphore.
  
  I removed the test entirely because I can't think of any situation where
  that private data actually would be NULL, other than a pretty badly
  malfunctioning system.  Why test for something that should never happen?
  And if it does happen, we shouldn't want the disconnect routine to fail
  silently -- we should want to see a nice big segfault (when the NULL
  pointer is dereferenced) so that we can find and fix the underlying error.
  
  Is there any sort of convention (a la Documentation/CodingStyle) about
  whether this approach should be used in general?  There are _lots_ of
  places in the kernel where unnecessary checks for NULL pointers are made.

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

[email-masked], 2003-07-09 20:51:05-07:00, [email-masked]
  [PATCH] USB: fix datafab and freecom to use I/O buffer
  
  This patch makes the Datafab and the Freecom driver both use the I/O safe
  buffer us->iobuf instead of local stack or local allocations.

 drivers/usb/storage/datafab.c |   90 ++++++++++++++++++++++++++++--------------
 drivers/usb/storage/freecom.c |   33 +++------------
 2 files changed, 68 insertions(+), 55 deletions(-)
------

[email-masked], 2003-07-09 20:50:32-07:00, [email-masked]
  [PATCH] USB: fix usb-storage initializers
  
  This patch makes the 2.5 initializers use the DMA-safe us->iobuf instead of
  local stack or local dynamic allocation.

 drivers/usb/storage/initializers.c |   36 +++++++++---------------------------
 1 files changed, 9 insertions(+), 27 deletions(-)
------

[email-masked], 2003-07-09 20:49:56-07:00, [email-masked]
  [PATCH] USB: ftdi_sio update
  
  A couple of patches for the ftdi_sio driver on 2.5.73
  
  "2.5.73-ftdi_sio-bigupdate.patch" - this is a big, ugly patch to
  bring the ftdi_sio driver in line with what recently submitted for
  inclusion in the 2.4.x kernel
  (v2.4/testing/cset/[email-masked]|ChangeSet|20030627190202|35624.txt),
  but with necessary changes for 2.5.x.  I've bumped the driver's
  version number to 1.4.0 to distinguish it from that submitted for
  the 2.4.x kernel.
  
  "2.5.73-ftdi_sio-dynamicwrite.patch" - this adds to the above patch
  to replace the pool of urbs used for writes with dynamically
  allocated urbs and transfer buffers.  I've tested this on the
  FT8U232AM and FT232BM and I think I've catered for the older "SIO"
  device, but I don't have a device to test that.  Also, it is not
  safe to unload the driver module while write urbs are in flight
  (same as for the Visor driver).

 drivers/usb/serial/ftdi_sio.c | 1976 ++++++++++++++++++++++++++++++++----------
 drivers/usb/serial/ftdi_sio.h |  188 +++
 2 files changed, 1656 insertions(+), 508 deletions(-)
------

[email-masked], 2003-07-09 17:39:41-07:00, [email-masked]
  [PATCH] usblp: usb_buffer_free() not called
  Here is the blind flight :-)
  ===
  drivers/usb/class/usblp.c
  usblp->dev was set to NULL to indicate a device disconnect but we need
  this value for usb_buffer_free() when device is still opened and cleanup
  is delayed until usblp_release().
  We have a usblp->present now for preventing device read, write, open and ioctl.

Push file://home/greg/linux/BK/gregkh-2.5
  -> file://home/greg/linux/BK/bleed-2.5
 drivers/usb/class/usblp.c |   24 ++++++++++++++----------
 1 files changed, 14 insertions(+), 10 deletions(-)
------

<abbotti:mev.co.uk>:
  o USB: ftdi_sio update

Alan Stern:
  o USB: Updates for unusual_devs.h
  o USB: Small correction to usb-skeleton.c

David Brownell:
  o USB: usbnet, don't NET_XMIT_DROP
  o USB: usb_get_string(), don't use bogus ids

Greg Kroah-Hartman:
  o USB: remove pointless warning about using usbdevfs
  o USB: fix up my USB Bluetooth entry to help prevent confusion in the future

Kay Sievers:
  o usblp: usb_buffer_free() not called Here is the blind flight :-) === drivers/usb/class/usblp.c usblp->dev was set to NULL to indicate a device disconnect but we need this value for usb_buffer_free() when device is still opened and cleanup is delayed until usblp_release().

Matthew Dharm:
  o USB: fix datafab and freecom to use I/O buffer
  o USB: fix usb-storage initializers