From: Greg KH To: torvalds@transmeta.com Cc: linux-usb-devel@lists.sourceforge.net Subject: [BK PATCH] USB changes for 2.5.8-pre2 Pull from: bk://linuxusb.bkbits.net/linus-2.5 drivers/usb/class/bluetooth.c | 1364 ---------------------------------- Documentation/DocBook/Makefile | 4 Documentation/DocBook/kernel-api.tmpl | 4 drivers/usb/Config.help | 511 ------------ drivers/usb/class/Config.help | 44 + drivers/usb/class/Config.in | 4 drivers/usb/class/Makefile | 2 drivers/usb/class/bluetty.c | 1364 ++++++++++++++++++++++++++++++++++ drivers/usb/core/devio.c | 66 - drivers/usb/core/hcd.h | 18 drivers/usb/core/hub.c | 1 drivers/usb/core/usb.c | 98 +- drivers/usb/host/uhci.c | 52 - drivers/usb/host/uhci.h | 4 drivers/usb/host/usb-uhci.h | 2 drivers/usb/image/Config.help | 47 + drivers/usb/input/Config.help | 74 + drivers/usb/media/Config.help | 148 +++ drivers/usb/misc/Config.help | 76 + drivers/usb/net/Config.help | 118 ++ drivers/usb/net/usbnet.c | 157 +++ include/linux/usb.h | 74 + include/linux/usbdevice_fs.h | 2 23 files changed, 2205 insertions(+), 2029 deletions(-) ------ ChangeSet@1.598, 2002-04-08 15:14:20-07:00, greg@kroah.com USB cleaned up the comments to put them in proper docbook format. drivers/usb/core/usb.c | 21 ++++++++++++--------- 1 files changed, 12 insertions(+), 9 deletions(-) ------ ChangeSet@1.597, 2002-04-08 15:01:34-07:00, david-b@pacbell.net This patch is a more complete fix for the device refcount sanity checking and cleanup on device disconnect. - Splits apart usb_dec_dev_use(), for driver use, and usb_free_dev(), for hub/hcd use. Both now have kerneldoc, and will BUG() if the refcount and the device tree get out of sync. (Except for cleanup of root hub init errors, refcount must go to zero only at the instant disconnect processing completes.) - More usbcore-internal function declarations are now moved out of into hcd.h - Driver-accessible refcounting is now inlined; minor code shrinkage, it's using atomic inc/dec instructions not function calls. drivers/usb/core/hcd.h | 18 +++++++++++++ drivers/usb/core/hub.c | 1 drivers/usb/core/usb.c | 56 ++++++++++++++---------------------------- include/linux/usb.h | 64 ++++++++++++++++++++++++++++++++----------------- 4 files changed, 81 insertions(+), 58 deletions(-) ------ ChangeSet@1.596, 2002-04-08 14:05:16-07:00, david-b@pacbell.net USB kerneldoc fixes This fixes some kerneldoc bugs for USB. It catches up with the recent rename, and includes a couple minor tweaks/fixes I happened to notice. Documentation/DocBook/Makefile | 4 ++-- Documentation/DocBook/kernel-api.tmpl | 4 ++-- include/linux/usb.h | 8 +++++--- 3 files changed, 9 insertions(+), 7 deletions(-) ------ ChangeSet@1.595, 2002-04-08 11:25:54-07:00, greg@kroah.com USB bluetooth tty driver renamed the bluetooth.c file to bluettty.c to help prevent user confusion between this driver and the bluez bluetooth stack in the kernel. drivers/usb/class/bluetooth.c | 1364 ------------------------------------------ drivers/usb/class/Config.help | 10 drivers/usb/class/Config.in | 4 drivers/usb/class/Makefile | 2 drivers/usb/class/bluetty.c | 1364 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 1375 insertions(+), 1369 deletions(-) ------ ChangeSet@1.594, 2002-04-08 10:51:56-07:00, ddstreet@us.ibm.com [PATCH] usbfs disconnect This was originally created by David many months ago and posted to the list, but not put into the kernel. I modified the original patch to: -patch against the 2.5.7 kernel -use the 'real' interface number, not position (to do this I added 2 methods in usb.c) drivers/usb/core/devio.c | 52 +++++++++++++++++++++++++------------------ drivers/usb/core/usb.c | 39 ++++++++++++++++++++++++++++++++ include/linux/usb.h | 2 + include/linux/usbdevice_fs.h | 2 + 4 files changed, 74 insertions(+), 21 deletions(-) ------ ChangeSet@1.593, 2002-04-08 10:51:49-07:00, cph@zurich.ai.mit.edu [PATCH] page limit on bulk transfers in usbfs? Here is an updated patch using kmalloc that removes the page limit on bulk transfers in usbfs. I've tested it and it seems to work OK. drivers/usb/core/devio.c | 12 +++++------- 1 files changed, 5 insertions(+), 7 deletions(-) ------ ChangeSet@1.592, 2002-04-08 09:10:47-07:00, greg@kroah.com changed direct access of current->state to set_current_state() call. Thanks to Paul Komkoff for reminding me of this. drivers/usb/host/usb-uhci.h | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) ------ ChangeSet@1.591, 2002-04-08 09:05:05-07:00, johannes@erdfelt.com [PATCH] uhci.c FSBR speed problem The dangers of not ensuring important fields are properly set. Some, if not all, of the speed problems with uhci.c were caused because some important fields were not set and as a result, FSBR was never turned on. This patch also ensures is_suspended is set to 0 properly. This could cause some problems suspending the HC when no devices are plugged in. drivers/usb/host/uhci.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletion(-) ------ ChangeSet@1.590, 2002-04-08 09:04:56-07:00, johannes@erdfelt.com [PATCH] uhci.c incorrect locking This fixes a problem that I've not run into and is difficult to trigger, but definately a bug. We locked urb->lock, when we meant u->lock. It also cleans up the code a little to make it easier to understand and removes an obsolete comment. drivers/usb/host/uhci.c | 14 +++++--------- 1 files changed, 5 insertions(+), 9 deletions(-) ------ ChangeSet@1.589, 2002-04-08 09:04:48-07:00, johannes@erdfelt.com [PATCH] uhci.c cleanup This patch merely cleans up the code a little and doesn't fix any bugs. It makes a couple of code paths a bit easier to understand, removes an unused variable (uhci_list) and some procfs variables when not using procfs. drivers/usb/host/uhci.c | 21 ++++++++------------- drivers/usb/host/uhci.h | 4 ++-- 2 files changed, 10 insertions(+), 15 deletions(-) ------ ChangeSet@1.588, 2002-04-08 09:03:18-07:00, johannes@erdfelt.com [PATCH] uhci.c SMP deadlock This patch fixes a bug reported by Greg and David, as well as some other people recently. uhci.c would call wait_ms, which can sleep, with spinlocks held. There are two places where this happens, but only one was the cause of the problem. drivers/usb/host/uhci.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) ------ ChangeSet@1.587, 2002-04-06 21:54:28-08:00, greg@kroah.com USB spilt up the Config.help file into smaller pieces drivers/usb/Config.help | 511 ------------------------------------------ drivers/usb/class/Config.help | 38 +++ drivers/usb/image/Config.help | 47 +++ drivers/usb/input/Config.help | 74 ++++++ drivers/usb/media/Config.help | 148 ++++++++++++ drivers/usb/misc/Config.help | 76 ++++++ drivers/usb/net/Config.help | 118 +++++++++ 7 files changed, 503 insertions(+), 509 deletions(-) ------ ChangeSet@1.586, 2002-04-06 20:17:46-08:00, david-b@pacbell.net USB usbnet driver update - adds ethtool support (based on code from Brad Hards) - makes diagnostic level configurable (ethtool, module param) - fixes a minor mem_flags goof (thanks Oliver!) - device identifers now use devpath (stable ID) not devnum drivers/usb/net/usbnet.c | 157 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 129 insertions(+), 28 deletions(-) ------