From: Greg KH To: torvalds@transmeta.com Cc: linux-usb-devel@lists.sourceforge.net Subject: [BK PATCH] USB changes for 2.5.24 Pull from: http://linuxusb.bkbits.net/linus-2.5 Documentation/DocBook/Makefile | 1 Documentation/DocBook/kernel-api.tmpl | 1 drivers/usb/class/bluetty.c | 5 drivers/usb/class/printer.c | 23 -- drivers/usb/core/Makefile | 6 drivers/usb/core/file.c | 182 ++++++++++++++++++++++ drivers/usb/core/inode.c | 19 -- drivers/usb/core/usb.c | 233 ++-------------------------- drivers/usb/host/Config.help | 43 ----- drivers/usb/host/Config.in | 20 -- drivers/usb/host/ohci-dbg.c | 2 drivers/usb/host/ohci-hcd.c | 12 + drivers/usb/host/uhci-hcd.c | 38 ---- drivers/usb/host/usb-uhci-hcd.c | 18 -- drivers/usb/host/usb-uhci-q.c | 58 ------- drivers/usb/image/mdc800.c | 9 - drivers/usb/image/scanner.c | 19 -- drivers/usb/input/hiddev.c | 22 -- drivers/usb/media/dabusb.c | 16 - drivers/usb/misc/auerswald.c | 25 --- drivers/usb/misc/brlvger.c | 22 -- drivers/usb/misc/rio500.c | 18 +- drivers/usb/net/pegasus.c | 279 +++++++++++++++++++--------------- drivers/usb/net/pegasus.h | 17 -- drivers/usb/net/rtl8150.c | 49 ++--- drivers/usb/storage/transport.c | 101 +++--------- drivers/usb/storage/usb.c | 253 ++++++++++++++---------------- drivers/usb/storage/usb.h | 1 drivers/usb/usb-skeleton.c | 29 +-- include/linux/usb.h | 23 -- 30 files changed, 637 insertions(+), 907 deletions(-) ---- ChangeSet@1.618, 2002-07-05 14:38:16-07:00, orjan.friberg@axis.com USB: bluetty.c allocation bug fix In usb_bluetooth_probe, the transfer buffers for the write pool urbs are allocated with size 0, because bluetooth->bulk_out_buffer_size isn't set until after the loop. drivers/usb/class/bluetty.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) ---- ChangeSet@1.617, 2002-07-05 14:33:17-07:00, greg@kroah.com USB: Fixups due to the changes in struct usb_device for file_operations and minor number handling drivers/usb/class/printer.c | 23 +++++------------------ drivers/usb/image/mdc800.c | 9 ++++----- drivers/usb/image/scanner.c | 19 +++++-------------- drivers/usb/input/hiddev.c | 22 +++++++--------------- drivers/usb/media/dabusb.c | 16 ++++------------ drivers/usb/misc/auerswald.c | 25 +++++-------------------- drivers/usb/misc/brlvger.c | 22 ++++------------------ drivers/usb/misc/rio500.c | 18 ++++++++++++++---- drivers/usb/usb-skeleton.c | 29 +++++++++-------------------- 9 files changed, 57 insertions(+), 126 deletions(-) ---- ChangeSet@1.616, 2002-07-05 14:31:37-07:00, greg@kroah.com USB: added drivers/usb/core/file.c to the kernel-api documentation Documentation/DocBook/Makefile | 1 + Documentation/DocBook/kernel-api.tmpl | 1 + 2 files changed, 2 insertions(+) ---- ChangeSet@1.615, 2002-07-05 14:30:41-07:00, greg@kroah.com USB: removed file ops from usb device structure Moved the file ops and minor number stuff out of the usb structure, Now usb_register_dev() and usb_deregister_dev() must be called if you want to use the USB major number. drivers/usb/core/Makefile | 6 - drivers/usb/core/file.c | 182 +++++++++++++++++++++++++++++++++++ drivers/usb/core/inode.c | 19 --- drivers/usb/core/usb.c | 233 +++------------------------------------------- include/linux/usb.h | 23 ---- 5 files changed, 208 insertions(+), 255 deletions(-) ---- ChangeSet@1.604.1.8, 2002-07-04 23:46:47-07:00, petkan@users.sourceforge.net [PATCH] pegasus & rtl8150 I chose a little bit more restrictive license for my drivers. Rx skb pool introduced in pegasus driver and the pool locking in rtl8150 is refined. drivers/usb/net/pegasus.c | 279 ++++++++++++++++++++++++++-------------------- drivers/usb/net/pegasus.h | 17 -- drivers/usb/net/rtl8150.c | 49 +++----- 3 files changed, 188 insertions(+), 157 deletions(-) ---- ChangeSet@1.604.1.7, 2002-07-04 18:21:24-07:00, mdharm-usb@one-eyed-alien.net [PATCH] usb-storage: remove timer This removes the timer usage in usb-storage. This cleans up quite a bit of the state machine and eliminates quite a few potential races. Initialization commands and other non-data-path mechanisms use the USB core timeout mechanism. Anything in the data path uses the SCSI mid-layer mechanism. drivers/usb/storage/transport.c | 84 ++++++++++------------------------------ 1 files changed, 21 insertions(+), 63 deletions(-) ---- ChangeSet@1.604.1.6, 2002-07-04 18:21:18-07:00, mdharm-usb@one-eyed-alien.net [PATCH] usb-storage: Code consolidation of error paths This patch consolidates quite of bit of code in the control thread to place all the cleanup/error handling into one place. drivers/usb/storage/usb.c | 68 +++++++++++++++------------------------------- 1 files changed, 23 insertions(+), 45 deletions(-) ---- ChangeSet@1.604.1.5, 2002-07-04 18:21:08-07:00, mdharm-usb@one-eyed-alien.net [PATCH] usb-storage: code cleanup, small fixes This patch consolidates quite a bit of code for allocation/deallocation of URBs, and removes a kmalloc() from a command path. drivers/usb/storage/transport.c | 17 +-- drivers/usb/storage/usb.c | 185 ++++++++++++++++++++-------------------- drivers/usb/storage/usb.h | 1 3 files changed, 104 insertions(+), 99 deletions(-) ---- ChangeSet@1.604.1.4, 2002-07-04 11:04:13-07:00, greg@kroah.com USB: removed unused Config.help entries from the host controller file. drivers/usb/host/Config.help | 43 ++----------------------------------------- 1 files changed, 2 insertions(+), 41 deletions(-) ---- ChangeSet@1.604.1.3, 2002-07-04 11:03:26-07:00, greg@kroah.com USB: picked a uhci driver to go forward with. Removed usb-uhci-hcd.o from the list of UHCI drivers. This allowed the logic to be cleaned up. Removed CONFIG_EXPERIMENTAL dependancy, as it's no longer needed. drivers/usb/host/Config.in | 20 +++----------------- 1 files changed, 3 insertions(+), 17 deletions(-) ---- ChangeSet@1.604.1.2, 2002-06-21 15:12:01-07:00, david-b@pacbell.net [PATCH] Re: [linux-usb-devel] unending timeouts (patch for 2.5.22 oops) Ah, so both of the "hcd-ized" UHCI drivers have a common bug: they've got logic to look at the USB_ASYNC_UNLINK flag and block unless it's clear ... but the hcd framework is already handling the synchronous behavior, so that's wrong. Try to repeat that with the patch I've attached, which rips out that duplicated code ... and so should at least get rid of that oops, even if it doesn't entirely fix the timeout issue. (Or: try with either the OHCI driver, or with the EHCI driver through a USB 2.0 hub, if you have appropriate hardware.) - Dave p.s. Disclaimer about this patch: all it does is rip out code and make it compile without warnings, but I've not tested it otherwise. There's a possiblity it'll uncover latent issues on the other code path, but then that's exactly why we only want one unlink code path inside the HCDs! So Greg, please merge anyway ... drivers/usb/host/uhci-hcd.c | 38 +++++--------------------- drivers/usb/host/usb-uhci-hcd.c | 18 ++++-------- drivers/usb/host/usb-uhci-q.c | 58 ---------------------------------------- 3 files changed, 15 insertions(+), 99 deletions(-) ---- ChangeSet@1.604.1.1, 2002-06-21 15:11:45-07:00, david-b@pacbell.net [PATCH] ohci-hcd cardbus unplug This is the 2.5 version of that 2.4 patch I sent recently, which makes the OHCI driver behave usably on at least some cardbus systems when the card is just ejected without a clean shutdown. drivers/usb/host/ohci-dbg.c | 2 ++ drivers/usb/host/ohci-hcd.c | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-)