public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PATCH] USB patches for 2.6.33-git
@ 2009-12-11 21:26 Greg KH
  2009-12-12  6:59 ` [build failure] " Ingo Molnar
  2009-12-15  0:39 ` [GIT PATCH] USB patches for 2.6.33-git Linus Torvalds
  0 siblings, 2 replies; 21+ messages in thread
From: Greg KH @ 2009-12-11 21:26 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel, linux-usb

Here is the big USB merge for the 2.6.33-git tree.

Lots of different things here, mostly all just driver updates and a few
new additions.  There was some prep work for future power api changes
done as well. All of the details are in the shortlog below.

Please pull from:
	master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6.git/

All of these patches have been in the linux-next and mm trees for a
while.

The full patches will be sent to the linux-usb mailing list, if anyone
wants to see them.

thanks,

greg k-h

------------


 Documentation/ABI/testing/sysfs-bus-usb            |   13 +
 .../ABI/testing/sysfs-class-uwb_rc-wusbhc          |   13 +
 Documentation/kernel-parameters.txt                |    2 +
 Documentation/powerpc/dts-bindings/xilinx.txt      |   11 +
 Documentation/usb/power-management.txt             |   69 +-
 MAINTAINERS                                        |    4 +-
 arch/arm/plat-mxc/Makefile                         |    1 +
 arch/arm/plat-mxc/ehci.c                           |   92 +
 arch/arm/plat-mxc/include/mach/mxc_ehci.h          |   37 +
 drivers/bluetooth/btusb.c                          |    2 +-
 drivers/hid/usbhid/hid-core.c                      |    8 +-
 drivers/net/wimax/i2400m/usb.c                     |    7 +-
 drivers/usb/Kconfig                                |    2 +
 drivers/usb/Makefile                               |    2 +
 drivers/usb/class/cdc-acm.c                        |   58 +-
 drivers/usb/class/usbtmc.c                         |   54 +-
 drivers/usb/core/driver.c                          |  135 +-
 drivers/usb/core/file.c                            |    1 +
 drivers/usb/core/generic.c                         |    2 +-
 drivers/usb/core/hcd.c                             |   82 +-
 drivers/usb/core/hcd.h                             |   19 +-
 drivers/usb/core/hub.c                             |  142 +-
 drivers/usb/core/message.c                         |   82 +-
 drivers/usb/core/sysfs.c                           |   61 +-
 drivers/usb/core/urb.c                             |   22 +-
 drivers/usb/core/usb.c                             |   69 +-
 drivers/usb/core/usb.h                             |    1 +
 drivers/usb/gadget/Kconfig                         |   60 +
 drivers/usb/gadget/Makefile                        |    4 +
 drivers/usb/gadget/at91_udc.c                      |    6 +-
 drivers/usb/gadget/audio.c                         |  115 -
 drivers/usb/gadget/composite.c                     |   59 +-
 drivers/usb/gadget/ether.c                         |   16 +-
 drivers/usb/gadget/f_acm.c                         |   28 +
 drivers/usb/gadget/f_audio.c                       |   76 +-
 drivers/usb/gadget/f_mass_storage.c                | 3091 ++++++++++++++++++++
 drivers/usb/gadget/f_rndis.c                       |   35 +-
 drivers/usb/gadget/file_storage.c                  |  879 +-----
 drivers/usb/gadget/mass_storage.c                  |  240 ++
 drivers/usb/gadget/multi.c                         |  358 +++
 drivers/usb/gadget/storage_common.c                |  778 +++++
 drivers/usb/gadget/u_ether.h                       |    2 +-
 drivers/usb/host/Kconfig                           |   22 +-
 drivers/usb/host/ehci-hcd.c                        |   19 +-
 drivers/usb/host/ehci-hub.c                        |    2 +-
 drivers/usb/host/ehci-mxc.c                        |  296 ++
 drivers/usb/host/ehci-omap.c                       |  756 +++++
 drivers/usb/host/ehci-q.c                          |   32 +-
 drivers/usb/host/ehci-sched.c                      |   36 +-
 drivers/usb/host/ehci-xilinx-of.c                  |  300 ++
 drivers/usb/host/isp1362.h                         |    4 +-
 drivers/usb/host/ohci-at91.c                       |   10 +-
 drivers/usb/host/ohci-pnx4008.c                    |    8 +-
 drivers/usb/host/r8a66597-hcd.c                    |    4 -
 drivers/usb/host/whci/debug.c                      |   20 +-
 drivers/usb/host/whci/hcd.c                        |    1 +
 drivers/usb/host/whci/qset.c                       |  350 ++-
 drivers/usb/host/whci/whcd.h                       |    9 +
 drivers/usb/host/whci/whci-hc.h                    |   14 +-
 drivers/usb/host/xhci-hcd.c                        |  139 +-
 drivers/usb/host/xhci-mem.c                        |  255 ++-
 drivers/usb/host/xhci-pci.c                        |    2 +
 drivers/usb/host/xhci-ring.c                       |  343 ++-
 drivers/usb/host/xhci.h                            |   37 +-
 drivers/usb/misc/usbtest.c                         |    7 +-
 drivers/usb/mon/mon_bin.c                          |   51 +-
 drivers/usb/mon/mon_text.c                         |   23 +-
 drivers/usb/musb/Kconfig                           |    5 +-
 drivers/usb/musb/blackfin.c                        |   16 +-
 drivers/usb/musb/blackfin.h                        |   37 +
 drivers/usb/musb/musb_core.c                       |   10 +-
 drivers/usb/musb/musb_core.h                       |    8 +
 drivers/usb/musb/musb_dma.h                        |   11 +
 drivers/usb/musb/musb_gadget.c                     |  196 +-
 drivers/usb/musb/musb_gadget.h                     |    4 +-
 drivers/usb/musb/musb_gadget_ep0.c                 |   70 +-
 drivers/usb/musb/musb_host.c                       |   10 +-
 drivers/usb/musb/musb_regs.h                       |    4 +-
 drivers/usb/musb/musbhsdma.c                       |   12 +-
 drivers/usb/musb/omap2430.c                        |    2 +-
 drivers/usb/otg/Kconfig                            |    9 +
 drivers/usb/otg/Makefile                           |    1 +
 drivers/usb/otg/twl4030-usb.c                      |    4 +-
 drivers/usb/otg/ulpi.c                             |  136 +
 drivers/usb/serial/ark3116.c                       |  975 +++++--
 drivers/usb/serial/ftdi_sio.c                      |   32 +-
 drivers/usb/serial/ftdi_sio.h                      |   14 +
 drivers/usb/serial/mos7840.c                       |   24 +-
 drivers/usb/serial/option.c                        |   39 +-
 drivers/usb/serial/sierra.c                        |   91 +-
 drivers/usb/storage/scsiglue.c                     |    3 +-
 drivers/usb/storage/transport.c                    |   17 +-
 drivers/usb/storage/unusual_devs.h                 |    7 +
 drivers/usb/storage/usb.c                          |   43 +-
 drivers/usb/storage/usb.h                          |    1 +
 drivers/usb/usb-skeleton.c                         |    4 +-
 drivers/usb/wusbcore/devconnect.c                  |    7 +-
 drivers/usb/wusbcore/security.c                    |    6 +-
 drivers/usb/wusbcore/wusbhc.c                      |   32 +
 drivers/usb/wusbcore/wusbhc.h                      |    1 +
 include/linux/usb.h                                |   33 +-
 include/linux/usb/composite.h                      |    1 +
 include/linux/usb/otg.h                            |   68 +-
 include/linux/usb/ulpi.h                           |    7 +
 include/linux/usb_usual.h                          |    4 +-
 scripts/mod/file2alias.c                           |   93 +-
 106 files changed, 9634 insertions(+), 1881 deletions(-)
 create mode 100644 arch/arm/plat-mxc/ehci.c
 create mode 100644 arch/arm/plat-mxc/include/mach/mxc_ehci.h
 create mode 100644 drivers/usb/gadget/f_mass_storage.c
 create mode 100644 drivers/usb/gadget/mass_storage.c
 create mode 100644 drivers/usb/gadget/multi.c
 create mode 100644 drivers/usb/gadget/storage_common.c
 create mode 100644 drivers/usb/host/ehci-mxc.c
 create mode 100644 drivers/usb/host/ehci-omap.c
 create mode 100644 drivers/usb/host/ehci-xilinx-of.c
 create mode 100644 drivers/usb/otg/ulpi.c
 create mode 100644 include/linux/usb/ulpi.h

---------------

Adrian Taylor (1):
      USB: Exposing second ACM channel as tty for Nokia S60 phones.

Aguilar Pena, Leed (1):
      USB: twl4030: Enable USB regulators before enabling USB charging

Alan Stern (9):
      USB: don't use a fixed DMA mapping for hub status URBs
      USB: add a "remove hardware" sysfs attribute
      USB: fix a bug in the scatter-gather library
      USB: EHCI: add native scatter-gather support
      USB: add scatter-gather support to usbmon
      USB: remove the auto_pm flag
      USB: prepare for changover to Runtime PM framework
      USB: usb-storage: add BAD_SENSE flag
      USB: usb-storage: fix bug in fill_inquiry

Anand Gadiyar (2):
      USB: ehci: Allow EHCI to be built on OMAP3
      USB: MUSB: save hardware revision at init

Andre Herms (1):
      USB: usbtmc: repeat usb_bulk_msg until whole message is transfered

Bryan Wu (3):
      USB: musb: kill compile warning for Blackfin systems
      USB: musb: kill some useless comments in Blackfin driver
      USB: musb: fix musb_platform_set_mode() definition

CHENG Renquan (1):
      USB: add remove_id sysfs attr for usb drivers

Cliff Brake (2):
      USB: ftdi_sio: add USB device ID's for B&B Electronics line
      USB: mos7840: add device IDs for B&B electronics devices

Cliff Cai (2):
      USB: musb: clear the Blackfin interrupt pending bits early in the ISR
      USB: musb: Blackfin code needs NOP_USB_XCEIV too

Dan Carpenter (2):
      USB: r8a66597: clean up. remove unneeded null checks
      USB: fix possible null deref in init_usb_class()

Daniel Mack (3):
      USB OTG: add support for ulpi connected external transceivers
      USB OTG: Add generic driver for ULPI OTG transceiver
      USB: Add EHCI support for MX27 and MX31 based boards

David Vrabel (9):
      USB: make urb scatter-gather support more generic
      USB: whci-hcd: support urbs with scatter-gather lists
      USB: allow interrupt transfers to WUSB devices
      USB: whci-hcd: fix type and format warnings in sg code
      usb: whci-hcd: decode more QHead fields in the debug files
      USB: wusb: add wusb_phy_rate sysfs file to host controllers
      USB: whci-hcd: correctly handle sg lists longer than QTD_MAX_XFER_SIZE.
      USB: wusb: don't leak urb in certain error cases
      USB: wusb: correctly check size of security descriptor.

Elina Pasheva (1):
      USB: serial: sierra driver memory reduction

Felipe Balbi (7):
      USB: host: ehci: introduce omap ehci-hcd driver
      USB: core: fix sparse warning for static function
      USB: core: hub: fix sparse warning
      USB: core: message: fix sparse warning
      USB: musb: omap2430: fix sparse warning
      USB: musb: musb_gadget: fix sparse warning
      USB: musb: musb_host: fix sparse warning

Greg Kroah-Hartman (1):
      USB: add devpath sysfs attribute

H Hartley Sweeten (1):
      USB: hcd.c: quiet NULL pointer sparse noise

Hong Xu (1):
      USB: modifications for at91sam9g10

Jason Wessel (1):
      USB: ehci-hub: Remove redundant ehci->debug check

Jean Delvare (1):
      USB: Add missing static markers to ohci-pnx4008

Julia Lawall (3):
      USB: skeleton: Correct use of ! and &
      USB: xhci-mem.c: introduce missing kfree
      USB: ehci-omap.c: introduce missing kfree

Julie Zhu (1):
      USB: Add support for Xilinx USB host controller

Larry Finger (1):
      USB: Check results of dma_map_single

Laurent Pinchart (2):
      USB gadget: Handle endpoint requests at the function level
      USB audio gadget: handle endpoint control requests at the function level

Matthew Wilcox (3):
      USB: Convert a dev_info to a dev_dbg
      USB: usb-storage: Associate the name of the interface with the scsi host
      USB Storage: Make driver less chatty when it finds a new device

Michal Nazarewicz (19):
      USB: g_file_storage: parts of file_storage.c moved to separate file
      USB: g_file_storage: "fsg_" prefix added to some identifiers
      USB: g_file_storage: per-LUN ro, removable and cdrom flags handling changed
      USB: g_file_storage: more code from file_storage.c moved to storage_common.c
      USB: g_mass_storage: template f_mass_storage.c file created
      USB: g_mass_storage: testing code from f_mass_storage.c removed
      USB: g_mass_storage: parts of fsg_dev moved to fsg_common structure
      USB: g_mass_storage: constant length buffers used
      USB: g_mass_storage: fsg_common_init() created
      USB: Interface Association Descriptors added to CDC & RNDIS
      USB: g_mass_storage: Mass Storage Function created
      USB: g_mass_storage: fsg_config added & module params handlig changed
      USB: g_mass_storage: lun_name_format and thread_name added
      USB: g_mass_storage: code cleaned up and comments updated
      USB: g_mass_storage: most data moved to fsg_common
      USB: composite: usb_composite_unregister() no longer __exit
      USB: g_mass_storage: thread_exits callback added
      USB: g_multi: Multifunction Composite Gadget added
      USB: Added USB_ETH_RNDIS to use instead of CONFIG_USB_ETH_RNDIS

Mike Frysinger (2):
      USB: musb: tweak musb_read_fifo() to avoid unused warnings
      USB: musb: fix printf warning in debug code

Nathaniel McCallum (2):
      USB: add hex/bcd detection to usb modalias generation
      USB: handle bcd incrementation in usb modalias generation

Oliver Neukum (2):
      USB: usbtmc: minor formatting cleanups
      USB: improved error handling in usb_port_suspend()

Randy Dunlap (1):
      USB: g_multi kconfig: fix depends and help text

Roel Kluin (1):
      USB: FIX bitfield istl_flip:1, make it unsigned.

Roland Koebler (1):
      USB: serial: ftdi_sio: add space/mark parity

Russ Dill (1):
      USB: Close usb_find_interface race

Sarah Sharp (17):
      USB: xhci: Handle URB cancel, complete and resubmit race.
      USB: xhci: Re-purpose xhci_quiesce().
      USB: xhci: Add watchdog timer for URB cancellation.
      USB: xhci: Remove unused HCD statistics code.
      USB: ehci: Minor constant fix for SCHEDULE_SLOP.
      USB: ehci: Respect IST when scheduling new split iTDs.
      USB: xhci: Add tests for TRB address translation.
      USB: xhci: Set transfer descriptor size field correctly.
      USB: xhci: Return -EPROTO on a split transaction error.
      USB: xhci: Return success for vendor-specific info codes.
      USB: xhci: Handle errors that cause endpoint halts.
      USB: xhci: Add correct email and files to MAINTAINERS entry.
      USB: usbtmc: Use usb_clear_halt() instead of custom code.
      USB: xhci: Make reverting an alt setting "unfailable".
      USB: xhci: Fix command completion after a drop endpoint.
      USB: Refactor code to find alternate interface settings.
      USB: Check bandwidth when switching alt settings.

Sergei Shtylyov (4):
      USB: musb_gadget_ep0: fix unhandled endpoint 0 IRQs, again
      USB: musb_gadget: implement set_wedge() method
      USB: musb_gadget_ep0: stop abusing musb_gadget_set_halt()
      USB: musb_gadget: remove pointless loop

Sonic Zhang (4):
      USB: musb: update Blackfin processor dependency
      USB: musb: add notes for Blackfin anomalies
      USB: musb: add work around for Blackfin anomaly 05000456
      USB: musb: error out when anomaly 05000380 is applicable

Vikram Pandita (1):
      usbtest: make module param pattern writeable

Zhang Le (1):
      USB: option.c: add support for D-Link DWM-162-U5

bart.hartgers@gmail.com (6):
      USB: ark3116: Setup some basic infrastructure for new ark3116 driver.
      USB: ark3116: Make existing functions 16450-aware and add close and release functions.
      USB: ark3116: Replace cmget
      USB: ark3116: Add cmset and break
      USB: ark3116: Callbacks for interrupt and bulk read
      USB: ark3116: Cleanup of now unneeded functions

zhao.ming9@zte.com.cn (1):
      USB: option: add pid for ZTE


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [build failure] Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-11 21:26 [GIT PATCH] USB patches for 2.6.33-git Greg KH
@ 2009-12-12  6:59 ` Ingo Molnar
  2009-12-12  7:00   ` David Miller
  2009-12-15  0:39 ` [GIT PATCH] USB patches for 2.6.33-git Linus Torvalds
  1 sibling, 1 reply; 21+ messages in thread
From: Ingo Molnar @ 2009-12-12  6:59 UTC (permalink / raw)
  To: Greg KH, Alan Stern
  Cc: Linus Torvalds, Andrew Morton, linux-kernel, linux-usb


FYI, there's a new build breakage on latest upstream, on allyesconfig 
x86:

 drivers/net/usb/kaweth.c: In function kaweth_open:
 drivers/net/usb/kaweth.c:719: error: implicit declaration of function usb_autopm_enable

The problem appears to be that usb_autopm_enable() is obsolete and got 
eliminated recently via:

| commit 8e4ceb38eb5bbaef22fc00abe9bc11e26bea2ab5
| Author: Alan Stern <stern@rowland.harvard.edu>
| Date:   Mon Dec 7 13:01:37 2009 -0500
|
|    USB: prepare for changover to Runtime PM framework

	Ingo

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [build failure] Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-12  6:59 ` [build failure] " Ingo Molnar
@ 2009-12-12  7:00   ` David Miller
  2009-12-12  7:15     ` [PATCH] kaweth: Replace runtime power management primitives Ingo Molnar
  0 siblings, 1 reply; 21+ messages in thread
From: David Miller @ 2009-12-12  7:00 UTC (permalink / raw)
  To: mingo; +Cc: gregkh, stern, torvalds, akpm, linux-kernel, linux-usb

From: Ingo Molnar <mingo@elte.hu>
Date: Sat, 12 Dec 2009 07:59:23 +0100

> 
> FYI, there's a new build breakage on latest upstream, on allyesconfig 
> x86:
> 
>  drivers/net/usb/kaweth.c: In function kaweth_open:
>  drivers/net/usb/kaweth.c:719: error: implicit declaration of function usb_autopm_enable
> 
> The problem appears to be that usb_autopm_enable() is obsolete and got 
> eliminated recently via:

I posted about this a few hours ago, it's been resolved and a fix
is in net-2.6 and will be pushed out soon.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [PATCH] kaweth: Replace runtime power management primitives
  2009-12-12  7:00   ` David Miller
@ 2009-12-12  7:15     ` Ingo Molnar
  0 siblings, 0 replies; 21+ messages in thread
From: Ingo Molnar @ 2009-12-12  7:15 UTC (permalink / raw)
  To: David Miller; +Cc: gregkh, stern, torvalds, akpm, linux-kernel, linux-usb


* David Miller <davem@davemloft.net> wrote:

> From: Ingo Molnar <mingo@elte.hu>
> Date: Sat, 12 Dec 2009 07:59:23 +0100
> 
> > 
> > FYI, there's a new build breakage on latest upstream, on allyesconfig 
> > x86:
> > 
> >  drivers/net/usb/kaweth.c: In function kaweth_open:
> >  drivers/net/usb/kaweth.c:719: error: implicit declaration of function usb_autopm_enable
> > 
> > The problem appears to be that usb_autopm_enable() is obsolete and got 
> > eliminated recently via:
> 
> I posted about this a few hours ago, it's been resolved and a fix
> is in net-2.6 and will be pushed out soon.

thanks, i found the patch on netdev - attached below, should anyone only 
subscribed to lkml run into this problem.

	Ingo

-------------------->
>From cf549e36d31c8f12da1fe9aaa44702b60d967aac Mon Sep 17 00:00:00 2001
From: Oliver Neukum <oliver@neukum.org>
Date: Wed, 19 Aug 2009 21:35:01 +0200
Subject: [PATCH] kaweth: Replace runtime power management primitives

This patch removes a rare use of the USB power management API
which won't be supported after the conversion to the new generic
runtime power management framework. Functionality is not
altered.

Signed-off-by: Oliver Neukum <oliver@neukum.org>
Cc: Alan Stern <stern@rowland.harvard.edu>
LKML-Reference: <200908192135.01422.oliver@neukum.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 drivers/net/usb/kaweth.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c
index 3b80e8d..f1d64ef 100644
--- a/drivers/net/usb/kaweth.c
+++ b/drivers/net/usb/kaweth.c
@@ -716,7 +716,7 @@ static int kaweth_open(struct net_device *net)
 	return 0;
 
 err_out:
-	usb_autopm_enable(kaweth->intf);
+	usb_autopm_put_interface(kaweth->intf);
 	return -EIO;
 }
 
@@ -753,7 +753,7 @@ static int kaweth_close(struct net_device *net)
 
 	kaweth->status &= ~KAWETH_STATUS_CLOSING;
 
-	usb_autopm_enable(kaweth->intf);
+	usb_autopm_put_interface(kaweth->intf);
 
 	return 0;
 }

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-11 21:26 [GIT PATCH] USB patches for 2.6.33-git Greg KH
  2009-12-12  6:59 ` [build failure] " Ingo Molnar
@ 2009-12-15  0:39 ` Linus Torvalds
  2009-12-15  0:52   ` Greg KH
  1 sibling, 1 reply; 21+ messages in thread
From: Linus Torvalds @ 2009-12-15  0:39 UTC (permalink / raw)
  To: Greg KH; +Cc: Andrew Morton, linux-kernel, linux-usb



On Fri, 11 Dec 2009, Greg KH wrote:
>
> Here is the big USB merge for the 2.6.33-git tree.

I haven't bisected this yet, but something bad has happened to the USB 
printer connected to Tove's computer since 2.6.32. Current -git doesn't 
work, 2.6.32 works fine.

The USB pull is obviously an easy suspect, but on the other hand the code 
still sees the printer - but for some reason Fedora-11 print manager still 
complains about it perhaps being unconnected (and is unable to see any 
printer if I try to go into "Printer admin" and remove and add the 
printer)..

Booting back into 2.6.32 gets me a fine working printer again.

Does this ring a bell for anybody? The bisect is ongoing, but it will take 
some time (at least 12 more compiles and reboots - I just started).

			Linus

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  0:39 ` [GIT PATCH] USB patches for 2.6.33-git Linus Torvalds
@ 2009-12-15  0:52   ` Greg KH
  2009-12-15  1:00     ` Linus Torvalds
  0 siblings, 1 reply; 21+ messages in thread
From: Greg KH @ 2009-12-15  0:52 UTC (permalink / raw)
  To: Linus Torvalds, Alan Stern
  Cc: Greg KH, Andrew Morton, linux-kernel, linux-usb

On Mon, Dec 14, 2009 at 04:39:37PM -0800, Linus Torvalds wrote:
> 
> 
> On Fri, 11 Dec 2009, Greg KH wrote:
> >
> > Here is the big USB merge for the 2.6.33-git tree.
> 
> I haven't bisected this yet, but something bad has happened to the USB 
> printer connected to Tove's computer since 2.6.32. Current -git doesn't 
> work, 2.6.32 works fine.
> 
> The USB pull is obviously an easy suspect, but on the other hand the code 
> still sees the printer - but for some reason Fedora-11 print manager still 
> complains about it perhaps being unconnected (and is unable to see any 
> printer if I try to go into "Printer admin" and remove and add the 
> printer)..

Any kind of kernel log messages?  This would be a USB 2.0 device, right?

> Booting back into 2.6.32 gets me a fine working printer again.
> 
> Does this ring a bell for anybody? The bisect is ongoing, but it will take 
> some time (at least 12 more compiles and reboots - I just started).

Hm, I just tried to print from mine on your latest tree, and I have a
stream of:
	[440651.362550] usb 4-1.2: usbfs: interface 0 claimed by usblp while 'usb' sets config #1
	[440656.363409] usb 4-1.2: usbfs: interface 0 claimed by usblp while 'usb' sets config #1
	[440661.364296] usb 4-1.2: usbfs: interface 0 claimed by usblp while 'usb' sets config #1
	[440666.365009] usb 4-1.2: usbfs: interface 0 claimed by usblp while 'usb' sets config #1
	[440677.692298] usb 4-1.2: usbfs: interface 0 claimed by usblp while 'usb' sets config #1
	[440682.693080] usb 4-1.2: usbfs: interface 0 claimed by usblp while 'usb' sets config #1
	[440687.697054] usb 4-1.2: usbfs: interface 0 claimed by usblp while 'usb' sets config #1
	[440692.697784] usb 4-1.2: usbfs: interface 0 claimed by usblp while 'usb' sets config #1
	[440697.698653] usb 4-1.2: usbfs: interface 0 claimed by usblp while 'usb' sets config #1

messages in the log, which doesn't seem good.

Alan, any ideas?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  0:52   ` Greg KH
@ 2009-12-15  1:00     ` Linus Torvalds
  2009-12-15  1:47       ` Linus Torvalds
  0 siblings, 1 reply; 21+ messages in thread
From: Linus Torvalds @ 2009-12-15  1:00 UTC (permalink / raw)
  To: Greg KH; +Cc: Alan Stern, Greg KH, Andrew Morton, linux-kernel, linux-usb



On Mon, 14 Dec 2009, Greg KH wrote:
> 
> Any kind of kernel log messages?  This would be a USB 2.0 device, right?

There's no odd messages. I see the regular connect and disconnect 
messages, so I know the USB layer _saw_ the printer. But apart from that, 
nothing actually happens. And no printout.

> Hm, I just tried to print from mine on your latest tree, and I have a
> stream of:

Ahha. So I'm not the only one. 

Will continue to bisect.

		Linus

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  1:00     ` Linus Torvalds
@ 2009-12-15  1:47       ` Linus Torvalds
  2009-12-15  2:29         ` Linus Torvalds
  0 siblings, 1 reply; 21+ messages in thread
From: Linus Torvalds @ 2009-12-15  1:47 UTC (permalink / raw)
  To: Greg KH; +Cc: Alan Stern, Greg KH, Andrew Morton, linux-kernel, linux-usb



On Mon, 14 Dec 2009, Linus Torvalds wrote:
> 
> Will continue to bisect.

So far:

	Good: d71cb81af3817193bc605de061da0499934263a6
	Bad: 6bd03e7b9d0f70928f9cd793326c28e4e08ffc96

so it's definitely from that USB merge (unless it comes and goes 
intermittently and my bisect is not reliable, but the 
fact that I've bisected down to the USB merge makes it at least _look_ 
plausible).

Not surprising, and there's 85 commits in between those points, so I'll 
have to do 7 more bisection points.

			Linus

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  1:47       ` Linus Torvalds
@ 2009-12-15  2:29         ` Linus Torvalds
  2009-12-15  3:09           ` Linus Torvalds
  0 siblings, 1 reply; 21+ messages in thread
From: Linus Torvalds @ 2009-12-15  2:29 UTC (permalink / raw)
  To: Greg KH, Russ Dill
  Cc: Alan Stern, Greg KH, Andrew Morton, Linux Kernel Mailing List,
	linux-usb



On Mon, 14 Dec 2009, Linus Torvalds wrote:
> 
> Not surprising, and there's 85 commits in between those points, so I'll 
> have to do 7 more bisection points.

It bisected down to this:

commit a2582bd478c13c574d4c16ef1209d333f2a25935
Author: Russ Dill <russ.dill@gmail.com>
Date:   Wed Nov 18 11:02:13 2009 -0700

    USB: Close usb_find_interface race
    
    USB drivers that create character devices call usb_register_dev in their
    probe function. This associates the usb_interface device with that minor
    number and creates the character device and announces it to the world.
    However, the driver's probe function is called before the new
    usb_interface is added to the driver's klist_devices.
    ...

and what's even scarier is that that commit is marked for stable too. Did 
it already make it?

I'll double-check by reverting it from current -tip, but if you don't hear 
anything different from me, you can assume that that double-check 
succeeded and confirms that that commit really is the cause of my printer 
no longer working.

			Linus

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  2:29         ` Linus Torvalds
@ 2009-12-15  3:09           ` Linus Torvalds
  2009-12-15  3:17             ` russ.dill
  0 siblings, 1 reply; 21+ messages in thread
From: Linus Torvalds @ 2009-12-15  3:09 UTC (permalink / raw)
  To: Greg KH, Russ Dill
  Cc: Alan Stern, Greg KH, Andrew Morton, Linux Kernel Mailing List,
	linux-usb



On Mon, 14 Dec 2009, Linus Torvalds wrote:
> 
> I'll double-check by reverting it from current -tip, but if you don't hear 
> anything different from me, you can assume that that double-check 
> succeeded and confirms that that commit really is the cause of my printer 
> no longer working.

Confirmed.

With that commit reverted, everything works fine again. So it's definitely 
a2582bd478c13c574d4c16ef1209d333f2a25935, although I have no idea _why_ it 
causes problems.

One thing I note is that it literally changed semantics, as per the 
comment in there. It used to be:

	This walks the driver device list and returns a pointer to the interface
	with the matching minor.

and after that it is

	This walks the bus device list and returns a pointer to the interface
	with the matching minor.

Notice the "driver device list" -> "bus device list" change.

Also notice that the minor number of my 'lp0' device is zero, so I could 
easily imagine that some device without a driver at all or whatever will 
have a zero there, and then it would return the wrong device entirely.

So I really think that commit is very suspect. Not matching against the 
driver that we passed in looks like some total screwup.

But I don't know the code or the use. I do know that reverting it fixes 
it.

		Linus

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  3:09           ` Linus Torvalds
@ 2009-12-15  3:17             ` russ.dill
  2009-12-15  4:00               ` Russ Dill
  0 siblings, 1 reply; 21+ messages in thread
From: russ.dill @ 2009-12-15  3:17 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Greg KH, Alan Stern, Greg KH, Andrew Morton,
	Linux Kernel Mailing List, linux-usb

[-- Attachment #1: Type: text/plain, Size: 1811 bytes --]



On Mon, Dec 14, 2009 at 8:09 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
>
> On Mon, 14 Dec 2009, Linus Torvalds wrote:
>>
>> I'll double-check by reverting it from current -tip, but if you don't hear
>> anything different from me, you can assume that that double-check
>> succeeded and confirms that that commit really is the cause of my printer
>> no longer working.
>
> Confirmed.
>
> With that commit reverted, everything works fine again. So it's definitely
> a2582bd478c13c574d4c16ef1209d333f2a25935, although I have no idea _why_ it
> causes problems.
>
> One thing I note is that it literally changed semantics, as per the
> comment in there. It used to be:
>
>        This walks the driver device list and returns a pointer to the interface
>        with the matching minor.
>
> and after that it is
>
>        This walks the bus device list and returns a pointer to the interface
>        with the matching minor.
>
> Notice the "driver device list" -> "bus device list" change.
>
> Also notice that the minor number of my 'lp0' device is zero, so I could
> easily imagine that some device without a driver at all or whatever will
> have a zero there, and then it would return the wrong device entirely.
>
> So I really think that commit is very suspect. Not matching against the
> driver that we passed in looks like some total screwup.
>
> But I don't know the code or the use. I do know that reverting it fixes
> it.

Yes, you are right. Sorry for breaking your printer. There is both USB_MAJOR and USB_DEVICE_MAJOR. I haven't investigated it in great detail yet, but that seems likely to be the issue. I'll clean up the patch. And yes, it should definitely not be going into stable yet. Revert for now and I'll resubmit.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 271 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  3:17             ` russ.dill
@ 2009-12-15  4:00               ` Russ Dill
  2009-12-15  4:28                 ` Linus Torvalds
  2009-12-15  4:36                 ` Linus Torvalds
  0 siblings, 2 replies; 21+ messages in thread
From: Russ Dill @ 2009-12-15  4:00 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Greg KH, Alan Stern, Greg KH, Andrew Morton,
	Linux Kernel Mailing List, linux-usb

[-- Attachment #1: Type: text/plain, Size: 5881 bytes --]

On Mon, 2009-12-14 at 20:17 -0700, russ.dill@gmail.com wrote:
> 
> On Mon, Dec 14, 2009 at 8:09 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote:
> >
> >
> > On Mon, 14 Dec 2009, Linus Torvalds wrote:
> >>
> >> I'll double-check by reverting it from current -tip, but if you don't hear
> >> anything different from me, you can assume that that double-check
> >> succeeded and confirms that that commit really is the cause of my printer
> >> no longer working.
> >
> > Confirmed.
> >
> > With that commit reverted, everything works fine again. So it's definitely
> > a2582bd478c13c574d4c16ef1209d333f2a25935, although I have no idea _why_ it
> > causes problems.
> >
> > One thing I note is that it literally changed semantics, as per the
> > comment in there. It used to be:
> >
> >        This walks the driver device list and returns a pointer to the interface
> >        with the matching minor.
> >
> > and after that it is
> >
> >        This walks the bus device list and returns a pointer to the interface
> >        with the matching minor.
> >
> > Notice the "driver device list" -> "bus device list" change.
> >
> > Also notice that the minor number of my 'lp0' device is zero, so I could
> > easily imagine that some device without a driver at all or whatever will
> > have a zero there, and then it would return the wrong device entirely.
> >
> > So I really think that commit is very suspect. Not matching against the
> > driver that we passed in looks like some total screwup.
> >
> > But I don't know the code or the use. I do know that reverting it fixes
> > it.
> 
> Yes, you are right. Sorry for breaking your printer. There is both USB_MAJOR and USB_DEVICE_MAJOR. I haven't investigated it in great detail yet, but that seems likely to be the issue. I'll clean up the patch. And yes, it should definitely not be going into stable yet. Revert for now and I'll resubmit.


Here is a cleaned up patch that matches against minor and driver, not
just minor. I'll haven't test it yet, but will get a chance to tomorrow.

From 4441c99c80d8298a99b6f2fbd4ece9d3cfe7fd4d Mon Sep 17 00:00:00 2001
From: Russ Dill <Russ.Dill@gmail.com>
Date: Wed, 18 Nov 2009 10:31:27 -0700
Subject: [PATCH] Close usb_find_interface race v2

USB drivers that create character devices call usb_register_dev in their
probe function. This associates the usb_interface device with that minor
number and creates the character device and announces it to the world.
However, the driver's probe function is called before the new
usb_interface is added to the driver's klist_devices.

This is a problem because userspace will respond to the character device
creation announcement by opening the character device. The driver's open
function will the call usb_find_interface to find the usb_interface
associated with that minor number. usb_find_interface will walk the
driver's list of devices and find the usb_interface with the matching
minor number.

Because the announcement happens before the usb_interface is added to the
driver's klist_devices, a race condition exists. A straightforward fix
is to walk the list of devices on usb_bus_type instead since the device
is added to that list before the announcement occurs.

bus_find_device calls get_device to bump the reference count on the found
device. It is arguable that the reference count should be dropped by the
caller of usb_find_interface instead of usb_find_interface, however,
the current users of usb_find_interface do not expect this.

The original version of this patch only matched against minor number
instead of driver and minor number. This version matches against both.

Signed-off-by: Russ Dill <Russ.Dill@gmail.com>
---
 drivers/usb/core/usb.c |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
index b1b85ab..2091fac 100644
--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -132,7 +132,7 @@ EXPORT_SYMBOL_GPL(usb_altnum_to_altsetting);
 
 struct find_interface_arg {
 	int minor;
-	struct usb_interface *interface;
+	struct device_driver *drv;
 };
 
 static int __find_interface(struct device *dev, void *data)
@@ -144,10 +144,9 @@ static int __find_interface(struct device *dev, void *data)
 		return 0;
 
 	intf = to_usb_interface(dev);
-	if (intf->minor != -1 && intf->minor == arg->minor) {
-		arg->interface = intf;
+	if (intf->minor != -1 && intf->minor == arg->minor &&
+		dev->driver == arg->drv)
 		return 1;
-	}
 	return 0;
 }
 
@@ -156,21 +155,24 @@ static int __find_interface(struct device *dev, void *data)
  * @drv: the driver whose current configuration is considered
  * @minor: the minor number of the desired device
  *
- * This walks the driver device list and returns a pointer to the interface
- * with the matching minor.  Note, this only works for devices that share the
- * USB major number.
+ * This walks the bus device list and returns a pointer to the interface
+ * with the matching minor and driver.  Note, this only works for devices
+ * that share the USB major number.
  */
 struct usb_interface *usb_find_interface(struct usb_driver *drv, int minor)
 {
 	struct find_interface_arg argb;
-	int retval;
+	struct device *dev;
 
 	argb.minor = minor;
-	argb.interface = NULL;
-	/* eat the error, it will be in argb.interface */
-	retval = driver_for_each_device(&drv->drvwrap.driver, NULL, &argb,
-					__find_interface);
-	return argb.interface;
+	argb.drv = &drv->drvwrap.driver;
+
+	dev = bus_find_device(&usb_bus_type, NULL, &argb, __find_interface);
+
+	/* Drop reference count from bus_find_device */
+	put_device(dev);
+
+	return dev ? to_usb_interface(dev) : NULL;
 }
 EXPORT_SYMBOL_GPL(usb_find_interface);
 
-- 
1.6.5



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  4:00               ` Russ Dill
@ 2009-12-15  4:28                 ` Linus Torvalds
  2009-12-15  4:44                   ` Linus Torvalds
  2009-12-15  4:36                 ` Linus Torvalds
  1 sibling, 1 reply; 21+ messages in thread
From: Linus Torvalds @ 2009-12-15  4:28 UTC (permalink / raw)
  To: Russ Dill
  Cc: Greg KH, Alan Stern, Greg KH, Andrew Morton,
	Linux Kernel Mailing List, linux-usb



On Mon, 14 Dec 2009, Russ Dill wrote:
> 
> Here is a cleaned up patch that matches against minor and driver, not
> just minor. I'll haven't test it yet, but will get a chance to tomorrow.

Ok, this looks sane. I'll test it on the machine that had trouble.

		Linus

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  4:00               ` Russ Dill
  2009-12-15  4:28                 ` Linus Torvalds
@ 2009-12-15  4:36                 ` Linus Torvalds
  2009-12-15  4:45                   ` Russ Dill
  1 sibling, 1 reply; 21+ messages in thread
From: Linus Torvalds @ 2009-12-15  4:36 UTC (permalink / raw)
  To: Russ Dill
  Cc: Greg KH, Alan Stern, Greg KH, Andrew Morton,
	Linux Kernel Mailing List, linux-usb



On Mon, 14 Dec 2009, Russ Dill wrote:
> @@ -144,10 +144,9 @@ static int __find_interface(struct device *dev, void *data)
>  		return 0;
>  
>  	intf = to_usb_interface(dev);
> -	if (intf->minor != -1 && intf->minor == arg->minor) {
> -		arg->interface = intf;
> +	if (intf->minor != -1 && intf->minor == arg->minor &&
> +		dev->driver == arg->drv)
>  		return 1;
> -	}
>  	return 0;
>  }

Btw, can we please write this somewhat more readably, and just do

	if (dev->driver != arg->drv)
		return 0;
	intf = to_usb_interface(dev);
	return intf->minor == arg->minor;

because the whole "intf->minor != -1" thing is pointless (we're going to 
test it against 'arg->minor', and if that is -1, then the caller damn well 
gets what he deserves anyway).

This way there are no complex multi-line crud expressions, and it all 
looks simpler. No?

			Linus

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  4:28                 ` Linus Torvalds
@ 2009-12-15  4:44                   ` Linus Torvalds
  2009-12-15 14:31                     ` Greg KH
  0 siblings, 1 reply; 21+ messages in thread
From: Linus Torvalds @ 2009-12-15  4:44 UTC (permalink / raw)
  To: Russ Dill
  Cc: Greg KH, Alan Stern, Greg KH, Andrew Morton,
	Linux Kernel Mailing List, linux-usb



On Mon, 14 Dec 2009, Linus Torvalds wrote:
> 
> Ok, this looks sane. I'll test it on the machine that had trouble.

Tests fine. I'd still like the trivial cleanup, but at least this confirms 
that the problem was that the original patch matches the wrong device due 
to not matching on the driver field.

Greg, do you want me to do this (revert+fixed patch), or are you going to 
send me a pull request with it all sorted out?

			Linus

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  4:36                 ` Linus Torvalds
@ 2009-12-15  4:45                   ` Russ Dill
  2009-12-15  6:02                     ` Linus Torvalds
  0 siblings, 1 reply; 21+ messages in thread
From: Russ Dill @ 2009-12-15  4:45 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Greg KH, Alan Stern, Greg KH, Andrew Morton,
	Linux Kernel Mailing List, linux-usb

[-- Attachment #1: Type: text/plain, Size: 4824 bytes --]

On Mon, 2009-12-14 at 20:36 -0800, Linus Torvalds wrote:
> 
> On Mon, 14 Dec 2009, Russ Dill wrote:
> > @@ -144,10 +144,9 @@ static int __find_interface(struct device *dev, void *data)
> >  		return 0;
> >  
> >  	intf = to_usb_interface(dev);
> > -	if (intf->minor != -1 && intf->minor == arg->minor) {
> > -		arg->interface = intf;
> > +	if (intf->minor != -1 && intf->minor == arg->minor &&
> > +		dev->driver == arg->drv)
> >  		return 1;
> > -	}
> >  	return 0;
> >  }
> 
> Btw, can we please write this somewhat more readably, and just do
> 
> 	if (dev->driver != arg->drv)
> 		return 0;
> 	intf = to_usb_interface(dev);
> 	return intf->minor == arg->minor;
> 
> because the whole "intf->minor != -1" thing is pointless (we're going to 
> test it against 'arg->minor', and if that is -1, then the caller damn well 
> gets what he deserves anyway).
> 
> This way there are no complex multi-line crud expressions, and it all 
> looks simpler. No?

Yup.

From 41e394bc38b9d5224cc5e8013f45e769910a114e Mon Sep 17 00:00:00 2001
From: Russ Dill <Russ.Dill@gmail.com>
Date: Wed, 18 Nov 2009 10:31:27 -0700
Subject: [PATCH] Close usb_find_interface race v3

USB drivers that create character devices call usb_register_dev in their
probe function. This associates the usb_interface device with that minor
number and creates the character device and announces it to the world.
However, the driver's probe function is called before the new
usb_interface is added to the driver's klist_devices.

This is a problem because userspace will respond to the character device
creation announcement by opening the character device. The driver's open
function will the call usb_find_interface to find the usb_interface
associated with that minor number. usb_find_interface will walk the
driver's list of devices and find the usb_interface with the matching
minor number.

Because the announcement happens before the usb_interface is added to the
driver's klist_devices, a race condition exists. A straightforward fix
is to walk the list of devices on usb_bus_type instead since the device
is added to that list before the announcement occurs.

bus_find_device calls get_device to bump the reference count on the found
device. It is arguable that the reference count should be dropped by the
caller of usb_find_interface instead of usb_find_interface, however,
the current users of usb_find_interface do not expect this.

The original version of this patch only matched against minor number
instead of driver and minor number. This version matches against both.

Signed-off-by: Russ Dill <Russ.Dill@gmail.com>
---
 drivers/usb/core/usb.c |   31 ++++++++++++++++---------------
 1 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
index b1b85ab..52e5e31 100644
--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -132,7 +132,7 @@ EXPORT_SYMBOL_GPL(usb_altnum_to_altsetting);
 
 struct find_interface_arg {
 	int minor;
-	struct usb_interface *interface;
+	struct device_driver *drv;
 };
 
 static int __find_interface(struct device *dev, void *data)
@@ -143,12 +143,10 @@ static int __find_interface(struct device *dev, void *data)
 	if (!is_usb_interface(dev))
 		return 0;
 
+	if (dev->driver != arg->drv)
+		return 0;
 	intf = to_usb_interface(dev);
-	if (intf->minor != -1 && intf->minor == arg->minor) {
-		arg->interface = intf;
-		return 1;
-	}
-	return 0;
+	return intf->minor == arg->minor;
 }
 
 /**
@@ -156,21 +154,24 @@ static int __find_interface(struct device *dev, void *data)
  * @drv: the driver whose current configuration is considered
  * @minor: the minor number of the desired device
  *
- * This walks the driver device list and returns a pointer to the interface
- * with the matching minor.  Note, this only works for devices that share the
- * USB major number.
+ * This walks the bus device list and returns a pointer to the interface
+ * with the matching minor and driver.  Note, this only works for devices
+ * that share the USB major number.
  */
 struct usb_interface *usb_find_interface(struct usb_driver *drv, int minor)
 {
 	struct find_interface_arg argb;
-	int retval;
+	struct device *dev;
 
 	argb.minor = minor;
-	argb.interface = NULL;
-	/* eat the error, it will be in argb.interface */
-	retval = driver_for_each_device(&drv->drvwrap.driver, NULL, &argb,
-					__find_interface);
-	return argb.interface;
+	argb.drv = &drv->drvwrap.driver;
+
+	dev = bus_find_device(&usb_bus_type, NULL, &argb, __find_interface);
+
+	/* Drop reference count from bus_find_device */
+	put_device(dev);
+
+	return dev ? to_usb_interface(dev) : NULL;
 }
 EXPORT_SYMBOL_GPL(usb_find_interface);
 
-- 
1.6.5





[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  4:45                   ` Russ Dill
@ 2009-12-15  6:02                     ` Linus Torvalds
  2009-12-15  6:11                       ` Russ Dill
  0 siblings, 1 reply; 21+ messages in thread
From: Linus Torvalds @ 2009-12-15  6:02 UTC (permalink / raw)
  To: Russ Dill
  Cc: Greg KH, Alan Stern, Greg KH, Andrew Morton,
	Linux Kernel Mailing List, linux-usb



On Mon, 14 Dec 2009, Russ Dill wrote:
>
> From: Russ Dill <Russ.Dill@gmail.com>
> Date: Wed, 18 Nov 2009 10:31:27 -0700
> Subject: [PATCH] Close usb_find_interface race v3
 [...]

Ok, patch looks good to me.

However, now I just wonder whether this re-introduces the original race.

In the original race description:

> USB drivers that create character devices call usb_register_dev in their
> probe function. This associates the usb_interface device with that minor
> number and creates the character device and announces it to the world.
> However, the driver's probe function is called before the new
> usb_interface is added to the driver's klist_devices.

and now we obviously no longer care about that klist_devices thing any 
more, but we _do_ care about 'dev->driver'.

Has that been set by the time the driver's probe function is called? Or 
are we now going to have the same situation as before the original patch?

[ That obviously always worked for my printer situation, but I'm just 
  wondering if this patch actually now helps whatever problem the original 
  patch was supposed to help? ]

Somebody who knows the USB driver binding code better than I do should 
look at this. Greg?

		Linus

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  6:02                     ` Linus Torvalds
@ 2009-12-15  6:11                       ` Russ Dill
  2009-12-15  6:20                         ` Linus Torvalds
  0 siblings, 1 reply; 21+ messages in thread
From: Russ Dill @ 2009-12-15  6:11 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Greg KH, Alan Stern, Greg KH, Andrew Morton,
	Linux Kernel Mailing List, linux-usb

[-- Attachment #1: Type: text/plain, Size: 1540 bytes --]

Linus Torvalds wrote:
> 
> On Mon, 14 Dec 2009, Russ Dill wrote:
>> From: Russ Dill <Russ.Dill@gmail.com>
>> Date: Wed, 18 Nov 2009 10:31:27 -0700
>> Subject: [PATCH] Close usb_find_interface race v3
>  [...]
> 
> Ok, patch looks good to me.
> 
> However, now I just wonder whether this re-introduces the original race.
> 
> In the original race description:
> 
>> USB drivers that create character devices call usb_register_dev in their
>> probe function. This associates the usb_interface device with that minor
>> number and creates the character device and announces it to the world.
>> However, the driver's probe function is called before the new
>> usb_interface is added to the driver's klist_devices.
> 
> and now we obviously no longer care about that klist_devices thing any 
> more, but we _do_ care about 'dev->driver'.
> 
> Has that been set by the time the driver's probe function is called? Or 
> are we now going to have the same situation as before the original patch?
> 
> [ That obviously always worked for my printer situation, but I'm just 
>   wondering if this patch actually now helps whatever problem the original 
>   patch was supposed to help? ]
> 
> Somebody who knows the USB driver binding code better than I do should 
> look at this. Greg?
> 

I'll test tomorrow be sure, but It seems fine. really_probe in
drivers/base/dd.c is setting dev->driver before calling drv->probe.
driver_bound is called after drv->prove which adds the device to the
driver klist_devices.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  6:11                       ` Russ Dill
@ 2009-12-15  6:20                         ` Linus Torvalds
  0 siblings, 0 replies; 21+ messages in thread
From: Linus Torvalds @ 2009-12-15  6:20 UTC (permalink / raw)
  To: Russ Dill
  Cc: Greg KH, Alan Stern, Greg KH, Andrew Morton,
	Linux Kernel Mailing List, linux-usb



On Mon, 14 Dec 2009, Russ Dill wrote:
> 
> I'll test tomorrow be sure, but It seems fine. really_probe in
> drivers/base/dd.c is setting dev->driver before calling drv->probe.
> driver_bound is called after drv->prove which adds the device to the
> driver klist_devices.

Ok, sounds good. Just checking.

		Linus

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [GIT PATCH] USB patches for 2.6.33-git
  2009-12-15  4:44                   ` Linus Torvalds
@ 2009-12-15 14:31                     ` Greg KH
  0 siblings, 0 replies; 21+ messages in thread
From: Greg KH @ 2009-12-15 14:31 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Russ Dill, Alan Stern, Greg KH, Andrew Morton,
	Linux Kernel Mailing List, linux-usb

On Mon, Dec 14, 2009 at 08:44:33PM -0800, Linus Torvalds wrote:
> 
> 
> On Mon, 14 Dec 2009, Linus Torvalds wrote:
> > 
> > Ok, this looks sane. I'll test it on the machine that had trouble.
> 
> Tests fine. I'd still like the trivial cleanup, but at least this confirms 
> that the problem was that the original patch matches the wrong device due 
> to not matching on the driver field.
> 
> Greg, do you want me to do this (revert+fixed patch), or are you going to 
> send me a pull request with it all sorted out?

I will provide a tree with a revert and addition of the new patch in a
few hours.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [GIT PATCH] USB patches for 2.6.33-git
@ 2010-03-02 23:09 Greg KH
  0 siblings, 0 replies; 21+ messages in thread
From: Greg KH @ 2010-03-02 23:09 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel, linux-usb

Here is the big USB patchset for the .34 merge window.

There are a few tty patches in here, as they made more sense to go
through here due to the usb-serial drivers they were changing.

Please pull from:
	master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6.git/

All of these patches have been in the linux-next and mm trees.

The full patches will be sent to the linux-usb mailing list, if anyone
wants to see them.

thanks,

greg k-h

------------

 Documentation/ABI/testing/sysfs-bus-usb       |   11 +
 Documentation/ioctl/ioctl-number.txt          |    1 -
 Documentation/networking/00-INDEX             |    2 +
 Documentation/networking/cxacru-cf.py         |   48 +
 Documentation/networking/cxacru.txt           |   16 +
 Documentation/usb/error-codes.txt             |    6 +-
 Documentation/usb/power-management.txt        |  235 ++--
 arch/arm/configs/rx51_defconfig               |   11 +-
 arch/arm/mach-mx2/devices.c                   |   80 +-
 arch/arm/mach-mx2/devices.h                   |    1 +
 arch/arm/plat-mxc/include/mach/mx21-usbhost.h |   38 +
 arch/avr32/mach-at32ap/at32ap700x.c           |    7 +-
 drivers/char/tty_buffer.c                     |   11 +-
 drivers/hid/usbhid/hiddev.c                   |    7 +-
 drivers/media/video/dabusb.c                  |    8 +-
 drivers/staging/usbip/vhci_sysfs.c            |    2 +-
 drivers/usb/Kconfig                           |    2 +
 drivers/usb/Makefile                          |    1 +
 drivers/usb/atm/cxacru.c                      |  192 ++-
 drivers/usb/atm/usbatm.c                      |    3 +-
 drivers/usb/atm/usbatm.h                      |   15 +
 drivers/usb/c67x00/c67x00-drv.c               |    8 +-
 drivers/usb/class/cdc-acm.c                   |   82 +-
 drivers/usb/class/cdc-acm.h                   |    2 +-
 drivers/usb/class/cdc-wdm.c                   |    2 +-
 drivers/usb/class/usblp.c                     |   22 +-
 drivers/usb/class/usbtmc.c                    |    2 +-
 drivers/usb/core/Kconfig                      |    4 +-
 drivers/usb/core/devices.c                    |   32 +-
 drivers/usb/core/devio.c                      |  127 ++-
 drivers/usb/core/driver.c                     |  918 ++++++-------
 drivers/usb/core/file.c                       |    2 -
 drivers/usb/core/hcd.c                        |   27 +-
 drivers/usb/core/hcd.h                        |   13 +-
 drivers/usb/core/hub.c                        |  120 +-
 drivers/usb/core/message.c                    |    5 +-
 drivers/usb/core/quirks.c                     |   18 +-
 drivers/usb/core/sysfs.c                      |   85 +-
 drivers/usb/core/urb.c                        |   13 +-
 drivers/usb/core/usb.c                        |   38 +-
 drivers/usb/core/usb.h                        |   43 +-
 drivers/usb/early/ehci-dbgp.c                 |   68 +-
 drivers/usb/gadget/Kconfig                    |   10 +
 drivers/usb/gadget/Makefile                   |    2 +
 drivers/usb/gadget/at91_udc.c                 |   10 +-
 drivers/usb/gadget/atmel_usba_udc.c           |    9 +-
 drivers/usb/gadget/atmel_usba_udc.h           |    1 +
 drivers/usb/gadget/epautoconf.c               |   24 +-
 drivers/usb/gadget/ether.c                    |    2 +-
 drivers/usb/gadget/f_acm.c                    |    8 -
 drivers/usb/gadget/f_ecm.c                    |    7 +-
 drivers/usb/gadget/f_mass_storage.c           |   50 +-
 drivers/usb/gadget/f_rndis.c                  |    4 -
 drivers/usb/gadget/file_storage.c             |    8 +-
 drivers/usb/gadget/fsl_qe_udc.c               |    2 +-
 drivers/usb/gadget/gadget_chips.h             |   59 -
 drivers/usb/gadget/gmidi.c                    |    5 -
 drivers/usb/gadget/goku_udc.c                 |    2 +-
 drivers/usb/gadget/inode.c                    |   39 +-
 drivers/usb/gadget/mass_storage.c             |    8 +-
 drivers/usb/gadget/nokia.c                    |  259 ++++
 drivers/usb/gadget/printer.c                  |   18 -
 drivers/usb/gadget/pxa27x_udc.c               |  135 ++-
 drivers/usb/gadget/pxa27x_udc.h               |    6 +
 drivers/usb/gadget/s3c-hsotg.c                |   11 +-
 drivers/usb/gadget/u_ether.c                  |    5 +
 drivers/usb/gadget/u_ether.h                  |    7 -
 drivers/usb/gadget/zero.c                     |    6 +-
 drivers/usb/host/Kconfig                      |   11 +
 drivers/usb/host/Makefile                     |    2 +
 drivers/usb/host/ehci-atmel.c                 |    2 +-
 drivers/usb/host/ehci-au1xxx.c                |    6 +-
 drivers/usb/host/ehci-fsl.c                   |   97 ++-
 drivers/usb/host/ehci-mxc.c                   |   23 +-
 drivers/usb/host/ehci-omap.c                  |   47 +-
 drivers/usb/host/ehci-orion.c                 |    8 +-
 drivers/usb/host/ehci-ppc-of.c                |   14 +-
 drivers/usb/host/ehci-sched.c                 |   12 +-
 drivers/usb/host/ehci-xilinx-of.c             |    8 +-
 drivers/usb/host/fhci-hcd.c                   |    4 +-
 drivers/usb/host/imx21-dbg.c                  |  527 ++++++++
 drivers/usb/host/imx21-hcd.c                  | 1789 +++++++++++++++++++++++++
 drivers/usb/host/imx21-hcd.h                  |  436 ++++++
 drivers/usb/host/isp1362-hcd.c                |   15 +-
 drivers/usb/host/isp1760-hcd.c                |   10 +
 drivers/usb/host/isp1760-if.c                 |    2 +-
 drivers/usb/host/ohci-da8xx.c                 |  456 +++++++
 drivers/usb/host/ohci-dbg.c                   |    4 +-
 drivers/usb/host/ohci-hcd.c                   |    5 +
 drivers/usb/host/ohci-lh7a404.c               |   11 +-
 drivers/usb/host/ohci-pnx4008.c               |    6 +-
 drivers/usb/host/ohci-ppc-of.c                |   10 +-
 drivers/usb/host/ohci-ppc-soc.c               |    8 +-
 drivers/usb/host/ohci-sa1111.c                |    8 +-
 drivers/usb/host/sl811-hcd.c                  |    5 +-
 drivers/usb/host/uhci-hcd.c                   |    1 +
 drivers/usb/host/xhci-dbg.c                   |   19 +
 drivers/usb/host/xhci-ext-caps.h              |    7 +-
 drivers/usb/host/xhci-hcd.c                   |  150 ++-
 drivers/usb/host/xhci-hub.c                   |   65 +-
 drivers/usb/host/xhci-mem.c                   |   47 +-
 drivers/usb/host/xhci-pci.c                   |    1 +
 drivers/usb/host/xhci-ring.c                  |   41 +-
 drivers/usb/host/xhci.h                       |   11 +-
 drivers/usb/image/mdc800.c                    |    2 +-
 drivers/usb/image/microtek.c                  |    4 +-
 drivers/usb/misc/Kconfig                      |   25 -
 drivers/usb/misc/Makefile                     |    2 -
 drivers/usb/misc/adutux.c                     |    8 +-
 drivers/usb/misc/appledisplay.c               |    5 +-
 drivers/usb/misc/berry_charge.c               |  183 ---
 drivers/usb/misc/cypress_cy7c63.c             |    2 +-
 drivers/usb/misc/cytherm.c                    |    2 +-
 drivers/usb/misc/emi26.c                      |    2 +-
 drivers/usb/misc/emi62.c                      |    2 +-
 drivers/usb/misc/ftdi-elan.c                  |   11 +-
 drivers/usb/misc/idmouse.c                    |    2 +-
 drivers/usb/misc/iowarrior.c                  |    6 +-
 drivers/usb/misc/isight_firmware.c            |    4 +-
 drivers/usb/misc/ldusb.c                      |    4 +-
 drivers/usb/misc/legousbtower.c               |   13 +-
 drivers/usb/misc/rio500.c                     |   11 +-
 drivers/usb/misc/sisusbvga/sisusb.c           |   20 +-
 drivers/usb/misc/trancevibrator.c             |    2 +-
 drivers/usb/misc/usblcd.c                     |    7 +-
 drivers/usb/misc/usbled.c                     |    2 +-
 drivers/usb/misc/usbsevseg.c                  |    2 +-
 drivers/usb/misc/usbtest.c                    |    6 +-
 drivers/usb/misc/uss720.c                     |    2 +-
 drivers/usb/misc/vstusb.c                     |  783 -----------
 drivers/usb/mon/mon_bin.c                     |    7 +-
 drivers/usb/mon/mon_text.c                    |    6 +-
 drivers/usb/musb/blackfin.c                   |   28 +-
 drivers/usb/musb/cppi_dma.c                   |   33 +-
 drivers/usb/musb/musb_core.c                  |  562 +++++---
 drivers/usb/musb/musb_core.h                  |   72 +-
 drivers/usb/musb/musb_gadget.c                |   20 +-
 drivers/usb/musb/musb_host.c                  |   34 +-
 drivers/usb/musb/musb_regs.h                  |  101 ++-
 drivers/usb/musb/musbhsdma.c                  |   25 +-
 drivers/usb/musb/musbhsdma.h                  |   17 +
 drivers/usb/musb/omap2430.c                   |   48 +-
 drivers/usb/musb/omap2430.h                   |   32 +-
 drivers/usb/musb/tusb6010.c                   |    2 +-
 drivers/usb/musb/tusb6010_omap.c              |    2 +-
 drivers/usb/otg/twl4030-usb.c                 |   45 +-
 drivers/usb/serial/Kconfig                    |   19 +
 drivers/usb/serial/Makefile                   |    2 +
 drivers/usb/serial/aircable.c                 |   36 +-
 drivers/usb/serial/ark3116.c                  |    3 +-
 drivers/usb/serial/belkin_sa.c                |    2 +-
 drivers/usb/serial/ch341.c                    |   27 +-
 drivers/usb/serial/cp210x.c                   |    7 +-
 drivers/usb/serial/cyberjack.c                |    5 +-
 drivers/usb/serial/cypress_m8.c               |   82 +-
 drivers/usb/serial/digi_acceleport.c          |   38 +-
 drivers/usb/serial/empeg.c                    |    3 +-
 drivers/usb/serial/ftdi_sio.c                 |  195 ++--
 drivers/usb/serial/ftdi_sio.h                 |    6 +-
 drivers/usb/serial/ftdi_sio_ids.h             |   39 +-
 drivers/usb/serial/funsoft.c                  |    2 +-
 drivers/usb/serial/garmin_gps.c               |    3 +-
 drivers/usb/serial/generic.c                  |    7 +-
 drivers/usb/serial/hp4x.c                     |    2 +-
 drivers/usb/serial/io_edgeport.c              |   69 +-
 drivers/usb/serial/io_tables.h                |   10 +-
 drivers/usb/serial/io_ti.c                    |   75 +-
 drivers/usb/serial/ipaq.c                     |    1 -
 drivers/usb/serial/ipw.c                      |    3 +-
 drivers/usb/serial/ir-usb.c                   |   13 +-
 drivers/usb/serial/iuu_phoenix.c              |    2 +-
 drivers/usb/serial/keyspan.c                  |   57 +-
 drivers/usb/serial/keyspan.h                  |   10 +-
 drivers/usb/serial/keyspan_pda.c              |   53 +-
 drivers/usb/serial/kl5kusb105.c               |   66 +-
 drivers/usb/serial/kobil_sct.c                |   25 +-
 drivers/usb/serial/mct_u232.c                 |   57 +-
 drivers/usb/serial/mct_u232.h                 |    2 +
 drivers/usb/serial/mos7720.c                  |  185 +++-
 drivers/usb/serial/mos7840.c                  |   27 +-
 drivers/usb/serial/moto_modem.c               |    2 +-
 drivers/usb/serial/navman.c                   |    3 +-
 drivers/usb/serial/omninet.c                  |    8 +-
 drivers/usb/serial/opticon.c                  |   17 +-
 drivers/usb/serial/option.c                   |   71 +-
 drivers/usb/serial/oti6858.c                  |   36 +-
 drivers/usb/serial/pl2303.c                   |   38 +-
 drivers/usb/serial/qcaux.c                    |   96 ++
 drivers/usb/serial/qcserial.c                 |    2 +-
 drivers/usb/serial/siemens_mpi.c              |    2 +-
 drivers/usb/serial/sierra.c                   |   59 +-
 drivers/usb/serial/spcp8x5.c                  |   27 +-
 drivers/usb/serial/symbolserial.c             |   12 +-
 drivers/usb/serial/ti_usb_3410_5052.c         |    3 +-
 drivers/usb/serial/usb-serial.c               |   15 +-
 drivers/usb/serial/usb_debug.c                |    2 +-
 drivers/usb/serial/visor.c                    |   40 +-
 drivers/usb/serial/vivopay-serial.c           |   76 ++
 drivers/usb/serial/whiteheat.c                |   24 +-
 drivers/usb/storage/onetouch.c                |    2 +-
 drivers/usb/storage/scsiglue.c                |   10 +-
 drivers/usb/storage/shuttle_usbat.c           |   15 +-
 drivers/usb/storage/transport.c               |    6 +
 drivers/usb/storage/unusual_devs.h            |   88 ++-
 drivers/usb/usb-skeleton.c                    |    2 +-
 drivers/usb/wusbcore/cbaf.c                   |    2 +-
 drivers/usb/wusbcore/devconnect.c             |    2 +-
 drivers/usb/wusbcore/mmc.c                    |    2 +-
 include/linux/tty_flip.h                      |    7 +-
 include/linux/usb.h                           |   53 +-
 include/linux/usb/Kbuild                      |    1 -
 include/linux/usb/atmel_usba_udc.h            |    1 +
 include/linux/usb/ch9.h                       |    2 +-
 include/linux/usb/musb.h                      |   23 +-
 include/linux/usb/otg.h                       |   25 +
 include/linux/usb/quirks.h                    |    3 +
 include/linux/usb/serial.h                    |   13 +-
 include/linux/usb/vstusb.h                    |   71 -
 218 files changed, 7396 insertions(+), 3637 deletions(-)
 create mode 100644 Documentation/networking/cxacru-cf.py
 create mode 100644 arch/arm/plat-mxc/include/mach/mx21-usbhost.h
 create mode 100644 drivers/usb/gadget/nokia.c
 create mode 100644 drivers/usb/host/imx21-dbg.c
 create mode 100644 drivers/usb/host/imx21-hcd.c
 create mode 100644 drivers/usb/host/imx21-hcd.h
 create mode 100644 drivers/usb/host/ohci-da8xx.c
 delete mode 100644 drivers/usb/misc/berry_charge.c
 delete mode 100644 drivers/usb/misc/vstusb.c
 create mode 100644 drivers/usb/serial/qcaux.c
 create mode 100644 drivers/usb/serial/vivopay-serial.c
 delete mode 100644 include/linux/usb/vstusb.h

---------------

Ajay Kumar Gupta (6):
      USB: musb: Add new fifo table for a OMAP3 errata
      usb: musb: save dynfifo in musb struct
      usb: musb: Add 'extvbus' in musb_hdrc_platform_data
      usb: host: ehci: fix missing kfree in remove path also
      usb: host: ehci: adding regulator framework in ehci-omap.c driver.
      usb: musb: Add context save and restore support

Alan Cox (6):
      USB: cp210x: Add 81E8 (Zephyr Bioharness)
      tty: Fix various bogus WARN checks in the usb serial layer
      USB: tty: sort out the request_room handling for whiteheat
      USB: tty: kill request_room for USB ACM class
      USB: tty: Add a function to insert a string of characters with the same flag
      USB: tty: Prune uses of tty_request_room in the USB layer

Alan Stern (13):
      USB: check the endpoint type against the pipe type
      USB: rearrange code in usb_probe_interface
      USB: change locking for device-level autosuspend
      USB: consolidate remote wakeup routines
      USB: use the device lock for persist_enabled
      USB: implement usb_enable_autosuspend
      USB: change handling of negative autosuspend delays
      USB: rearrange functions in driver.c
      USB: convert to the runtime PM framework
      USB: remove debugging message for uevent constructions
      usb-storage: use max_hw_sectors instead of max_sectors
      USB: fix the idProduct value for USB-3.0 root hubs
      USB: remove references to port->port.count from the serial drivers

Alessio Igor Bogani (1):
      USB: ftdi_sio: Replace BKL with a mutex

Anand Gadiyar (5):
      usb: musb: hsdma: add wrapper for reading DMA count
      usb: musb: workaround MUSB DMA_INTR sometimes reads zero
      USB: omap: ehci: kill 2 compile warnings
      USB: ehci: omap: use default interrupt threshold
      USB: ehci: omap: Update TODO list in comments

Andreas Mohr (2):
      USB: ftdi_sio: correct spelling in header files
      USB: ftdi_sio: correct spelling in implementation file

Anton Vorontsov (2):
      USB: ehci-fsl: Fix sparse warnings
      USB: ehci-fsl: Add power management support

Arnaud Mandy (1):
      usb: musb: handle irqs in the order dictated by programming guide

Ben Hutchings (1):
      USB: isight-firmware: declare MODULE_FIRMWARE

Bruno Prémont (1):
      USB: backlight, appledisplay: fix incomplete registration failure handling

Bryan Wu (2):
      USB: gadget: use ep5 for bulk-in and ep6 for bulk-out for Blackfin MUSB
      usb: musb: clean up commit 'workaround Blackfin FIFO anomalies'

Catalin Marinas (1):
      USB: isp1760: Flush the D-cache for the pipe-in transfer buffers

Chris Frey (1):
      USB: usbfs_snoop: add data logging back in

Christoph Egger (2):
      USB: remove obsolete config in kernel source (USB_HCD_DMA)
      USB: Remove unsupported usb gadget drivers

Cliff Cai (3):
      USB: gadget: add INT support for Blackfin musb
      USB: musb: set version of Blackfin version
      USB: musb: disable double buffering for older RTL versions

Dan Carpenter (2):
      USB: serial: fix DMA buffers on stack for io_edgeport.c
      USB: io_edgeport: eliminate get_string()

Dan Streetman (1):
      USB: retain USB device power/wakeup setting across reconfiguration

Dan Williams (2):
      USB: option: add Longcheer/Longsung vendor ID
      USB: qcaux: driver for auxiliary serial ports on Qualcomm devices

Daniel Sangorrin (1):
      USB: serial: ftdi: add CONTEC vendor and product id

Dennis O'Brien (1):
      USB: vstusb.c: removal of driver for Vernier Software & Technology, Inc., devices and spectrometers

Dmitri Epshtein (2):
      USB: ehci: add call of free_cached_itd_list() function in disable_periodic()
      USB: ehci: fix audio record functionality for some Full speed sound blaster devices

Edward Shao (1):
      USB: xhci: Fix finding extended capabilities registers

Eirik Aanonsen (1):
      USB: atmel uaba: Adding invert vbus_pin

Elina Pasheva (2):
      USB: serial: sierra driver adding reset_resume function
      USB: serial: sierra driver indat_callback fix

Enrico Scholz (1):
      USB: pxa27x_udc: avoid compiler warnings and misbehavior on buggy hardware

FUJITA Tomonori (1):
      USB: s3c-hsotg: replace deprecated dma_sync_single()

Felipe Balbi (15):
      USB: otg: add notifier support
      USB: otg: twl4030: add support for notifier
      USB: musb: use resource_size()
      USB: musb: move two printk to dev_err
      USB: musb: move to sysfs_groups
      USB: musb: remove some of the never defined defines
      usb: otg: twl4030: move to request_threaded_irq
      USB: gadget: introduce g_nokia gadget driver
      arm: defconfig: rx51: enable phonet and g_nokia
      USB: musb: get rid of omap_readl/writel
      USB: musb: we already tested for dyn_fifo
      USB: musb: deprecate what we don't use
      USB: musb: tusb6010: use resource_size
      USB: musb: unmap base if we can't probe
      USB: musb: only print info message if probe() is successful

Forest Bond (1):
      USB: serial: Add support for ViVOtech ViVOpay devices.

Francesco Lavra (1):
      cdc_acm: add reset_resume method

Gernot Hillier (3):
      USB: serial: option.c: Add chipset information for 4G W14
      USB: serial: option.c: Add blacklisting infrastructure for special device handling
      USB: serial: option.c: Add 4G W14 stick to blacklist for option_send_setup

Greg Kroah-Hartman (2):
      USB: rename USB_SPEED_VARIABLE to USB_SPEED_WIRELESS
      USB: remove the berry_charge driver

H Hartley Sweeten (6):
      USB: pxa27x_udc.c: use resource_size()
      USB: atmel_usba_udc.c: use resource_size()
      USB: at91_udc.c: use resource_size()
      USB: ehci-orion.c: use resource_size()
      USB: ehci-atmel.c: use resource_size()
      USB: ehci-au1xxx.c: use platform_get_resource() and resource_size()

Herbert Xu (1):
      USB: Move hcd free_dev call into usb_disconnect to fix oops

Jan Dumon (1):
      USB: unusual_devs: Add support for multiple Option 3G sticks

Jason Wessel (1):
      USB: ehci-dbgp: split PID register updates for IN and OUT pipes

Joe Perches (3):
      USB: serial: Remove unnecessary \n's from dbg uses
      USB: Convert concatenated __FILE__ to %s, __FILE__
      USB: Extend and neaten dbg macros

Johan Hovold (27):
      USB: ftdi_sio: fix error message on close
      USB: ftdi_sio: remove obsolete comment
      USB: serial: fix typo in debug message
      USB: ftdi_sio: fix initialisation of latency timeout
      USB: ftdi_sio: use error code from usb stack in read_latency_timer
      USB: ftdi_sio: fix latency-timeout endianess bug
      USB: ftdi_sio: fix DMA buffers on stack
      USB: ftdi_sio: clean up modem status handling
      USB: ftdi_sio: remove unnecessary initialisations
      USB: ch341: replace printk warnings with dev_err
      USB: ch341: fix DMA buffer on stack
      USB: ch341: use le16_to_cpup to be explicit about endianess
      USB: cypress_m8: fix DMA buffer on stack
      USB: cypress_m8: fix endianess bug
      USB: io_ti: fix DMA buffers on stack
      USB: keyspan_pda: fix DMA buffers on stack
      USB: kl5kusb105: fix DMA buffers on stack
      USB: mos7720: fix DMA buffers on stack and clean up send_mos_cmd
      USB: mos7840: fix DMA buffers on stack and endianess bugs
      USB: oti6858: fix DMA buffer on stack
      USB: visor: fix DMA buffers on stack
      USB: kobil_sct: clean up kobil_set_termios
      USB: ch341: use get_unaligned_le16 in break_ctl
      USB: cypress_m8: use put_unaligned_le32() where necessary
      USB: ftdi_sio: remove unused tx_bytes counter
      USB: ftdi_sio: remove obsolete check in unthrottle
      USB: pl2303: remove unnecessary reset of usb_device in urbs

John Tsiombikas (1):
      USB: pl2303: initial TIOCGSERIAL support

Julia Lawall (4):
      USB: wusb: check CHID is all zeros before stopping the host
      USB: isp1362: Use kzalloc for allocating only one thing
      USB: FHCI: Correct the size argument to kzalloc
      USB: serial: Eliminate useless code

Julian Calaby (2):
      USB: cdc_acm: Add support for pbLua console port
      USB: cdc_acm: Silence "It is not a modem." error for pbLua devices

Luotao Fu (1):
      USB: fix I2C API usage in ohci-pnx4008.

Marcel Holtmann (1):
      USB: gadget: Add DEVTYPE support for Ethernet functions

Mark Adamson (1):
      USB: ftdi_sio: remove support for 5 and 6 data bits

Mark Brown (1):
      USB: s3c-hsotg: Staticise non-exported functions

Martin Fuzzey (3):
      USB: MXC: Add i.MX21 specific USB host controller driver.
      USB: MXC: use DMA_BIT_MASK macro rather than hardcoded constants.
      USB: MXC: add platform resources for i.MX21 USB host controller.

Michael Hennerich (2):
      USB: host: SL811: fix unaligned accesses
      USB: host: SL811: allow the hcd on Blackfin systems

Michal Nazarewicz (3):
      USB: mass_storage: eject LUNs on thread exit
      USB: g_mass_storage: superfluous and missing packets fixed
      USB: g_mass_storage: min(...) warning fixed

Mike Dunn (1):
      USB: serial: add support for serial port on the moschip 7715

Mike Frysinger (3):
      USB: cypress_m8: stop using USB debug driver config
      USB: cypress_m8: unify confusing new baudrate check
      USB: cypress_m8: allow unstable baud rates

Mitchell Solomon (1):
      USB: add new ftdi_sio device ids

Németh Márton (9):
      USB skeleton: make USB device id constant
      USB class: make USB device id constant
      USB serial: make USB device id constant
      USB image: make USB device id constant
      USB misc: make USB device id constant
      USB hub: make USB device id constant
      USB host: make Open Firmware device id constant
      USB gadget: make Open Firmware device id constant
      USB goku_udc: make PCI device id constant

Oliver Neukum (27):
      USB: cdc-acm: Update to new autopm API
      USB: xhci: No GFP_KERNEL in block error handling
      USB: storage: Never reset devices that will morph to an old mode
      USB: Export QUIRK_RESET_MORPHS through sysfs
      USB: usblp: Remove checks no longer needed with the new runtime PM system
      USB: Remove BKL from poll()
      USB: Remove BKL from usbdev_open()
      USB: Remove BKL from lseek implementations
      USB: Push BKL on open down into the drivers
      USB: Reduce scope of BKL in usb ioctl handling
      usb: BKL removal: usblp
      USB: BKL removal: usb-skeleton
      USB: BKL removal: usbtmc
      USB: BKL removal: cdc-wdm
      USB: BKL removal: mdc800
      USB: BKL removal: rio500
      USB: BKL removal: idmouse
      USB: BKL removal: adutux
      USB: BKL removal: ftdi-elan
      USB: BKL removal: ldusb
      USB: BKL removal: legousbtower
      USB: BKL removal: vstusb
      USB: BKL removal: frontier
      USB: BKL removal from ioctl path of usbfs
      USB: cdc-acm: fix possible deadlock with multiple openers
      USB: storage: onetouch: unnecessary GFP_ATOMIC
      USB: sisusbvga: no unnecessary GFP_ATOMIC

Pete Zaitcev (4):
      USB: serial mct_usb232: move DMA buffers to heap
      usbmon: add bus number to text API
      USB: fix crash in uhci_scan_schedule
      USB: usbmon: mask seconds properly in text API

Peter Korsgaard (1):
      USB: f_mass_storage: fix crash on bind() error

Robert Jarzmik (1):
      USB: pxa27x_udc: Fix deadlocks on request queueing

Robert P. J. Day (1):
      USB: Correct CONFIG variable typo.

Roel Kluin (4):
      USB: musb: don't dereference NULL tusb_dma in dma_controller_destroy()
      USB: musb: test always evaluates to false
      USB: storage: fix misplaced parenthesis
      USB: don't read past config->interface[] if usb_control_msg() fails in usb_reset_configuration()

Sarah Sharp (10):
      USB: xhci: Fix error path when configuring endpoints.
      USB: xhci: Refactor code to free or cache endpoint rings.
      USB: xhci: Allow allocation of commands without input contexts.
      USB: xhci: Refactor test for vendor-specific completion codes.
      USB: xhci: Refactor code to clear port change bits.
      USB: xhci: Allow roothub ports to be disabled.
      USB: xhci: Notify the xHC when a device is reset.
      USB: Add call to notify xHC of a device reset.
      USB: xhci: Fix compile issues with xhci_get_slot_state()
      USB: Use bInterfaceNumber in bandwidth allocations.

Sergei Shtylyov (1):
      USB: OHCI: DA8xx/OMAP-L1x glue layer

Simon Arlott (8):
      USB: cxacru: return an empty value for modulation if there is no connection
      USB: cxacru: check data length is not negative
      USB: cxacru: check device isn't being removed during sysfs calls
      USB: cxacru: document how to interact with the flash memory
      USB: cxacru: firmware writes on OHCI are slow, log progress
      USB: cxacru: add write-only sysfs attribute for modem configuration
      USB: cxacru: remove cxacru-cf.bin loader
      USB: cxacru: increment driver version

Swaminathan S (2):
      usb: musb: workaround toggle bug when doing bulk transfer after isoc
      usb: musb: Fix cppi_channel_abort() function to handle Tx abort correctly

Thadeu Lima de Souza Cascardo (1):
      USB: trivial: missing newline in usb core warning message

Thiago Farina (2):
      USB: c67x00: use resource_size().
      USB: atm: Use FIELD_SIZEOF, trivial cleanup.

Thomas Gleixner (1):
      usb: gadgetfs: Convert semaphore to mutex

Valentin Longchamp (1):
      USB: fix occasional ULPI timeouts with ehci-mxc


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2010-03-02 23:10 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-11 21:26 [GIT PATCH] USB patches for 2.6.33-git Greg KH
2009-12-12  6:59 ` [build failure] " Ingo Molnar
2009-12-12  7:00   ` David Miller
2009-12-12  7:15     ` [PATCH] kaweth: Replace runtime power management primitives Ingo Molnar
2009-12-15  0:39 ` [GIT PATCH] USB patches for 2.6.33-git Linus Torvalds
2009-12-15  0:52   ` Greg KH
2009-12-15  1:00     ` Linus Torvalds
2009-12-15  1:47       ` Linus Torvalds
2009-12-15  2:29         ` Linus Torvalds
2009-12-15  3:09           ` Linus Torvalds
2009-12-15  3:17             ` russ.dill
2009-12-15  4:00               ` Russ Dill
2009-12-15  4:28                 ` Linus Torvalds
2009-12-15  4:44                   ` Linus Torvalds
2009-12-15 14:31                     ` Greg KH
2009-12-15  4:36                 ` Linus Torvalds
2009-12-15  4:45                   ` Russ Dill
2009-12-15  6:02                     ` Linus Torvalds
2009-12-15  6:11                       ` Russ Dill
2009-12-15  6:20                         ` Linus Torvalds
  -- strict thread matches above, loose matches on Subject: below --
2010-03-02 23:09 Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox