From: Greg KH To: torvalds@osdl.org Cc: linux-usb-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: [BK PATCH] USB fixes for 2.5.75 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(-) ----- ChangeSet@1.1372.2.10, 2003-07-10 13:18:12-07:00, greg@kroah.com [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(-) ------ ChangeSet@1.1372.2.9, 2003-07-09 21:51:31-07:00, stern@rowland.harvard.edu [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(-) ------ ChangeSet@1.1372.2.8, 2003-07-09 21:05:29-07:00, greg@kroah.com [PATCH] USB: fix up my USB Bluetooth entry to help prevent confusion in the future. MAINTAINERS | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) ------ ChangeSet@1.1372.2.7, 2003-07-09 20:52:35-07:00, david-b@pacbell.net [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(-) ------ ChangeSet@1.1372.2.6, 2003-07-09 20:52:04-07:00, david-b@pacbell.net [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(-) ------ ChangeSet@1.1372.2.5, 2003-07-09 20:51:38-07:00, stern@rowland.harvard.edu [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(-) ------ ChangeSet@1.1372.2.4, 2003-07-09 20:51:05-07:00, mdharm-usb@one-eyed-alien.net [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(-) ------ ChangeSet@1.1372.2.3, 2003-07-09 20:50:32-07:00, mdharm-usb@one-eyed-alien.net [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(-) ------ ChangeSet@1.1372.2.2, 2003-07-09 20:49:56-07:00, abbotti@mev.co.uk [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/cset-abbotti@mev.co.uk|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(-) ------ ChangeSet@1.1372.2.1, 2003-07-09 17:39:41-07:00, lkml001@vrfy.org [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(-) ------ : 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