Permalink
Commits on Jul 21, 2008
  1. Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6

    * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (100 commits)
      usb-storage: revert DMA-alignment change for Wireless USB
      USB: use reset_resume when normal resume fails
      usb_gadget: composite cdc gadget fault handling
      usb gadget: minor USBCV fix for composite framework
      USB: Fix bug with byte order in isp116x-hcd.c fio write/read
      USB: fix double kfree in ipaq in error case
      USB: fix build error in cdc-acm for CONFIG_PM=n
      USB: remove board-specific UP2OCR configuration from pxa27x-udc
      USB: EHCI: Reconciling USB register differences on MPC85xx vs MPC83xx
      USB: Fix pointer/int cast in USB devio code
      usb gadget: g_cdc dependso on NET
      USB: Au1xxx-usb: suspend/resume support.
      USB: Au1xxx-usb: clean up ohci/ehci bus glue sources.
      usbfs: don't store bad pointers in registration
      usbfs: fix race between open and unregister
      usbfs: simplify the lookup-by-minor routines
      usbfs: send disconnect signals when device is unregistered
      USB: Force unbinding of drivers lacking reset_resume or other methods
      USB: ohci-pnx4008: I2C cleanups and fixes
      USB: debug port converter does not accept more than 8 byte packets
      ...
    torvalds committed Jul 21, 2008
  2. usb-storage: revert DMA-alignment change for Wireless USB

    This patch (as1110) reverts an earlier patch meant to help with
    Wireless USB host controllers.  These controllers can have bulk
    maxpacket values larger than 512, which puts unusual constraints on
    the sizes of scatter-gather list elements.  However it turns out that
    the block layer does not provide the support we need to enforce these
    constraints; merely changing the DMA alignment mask doesn't help.
    Hence there's no reason to keep the original patch.  The Wireless USB
    problem will have to be solved a different way.
    
    In addition, there is a reason to get rid of the earlier patch.  By
    dereferencing a pointer stored in the ep_in array of struct
    usb_device, the current code risks an invalid memory access when it
    runs concurrently with device removal.  The members of that array are
    cleared before the driver's disconnect method is called, so it should
    not try to use them.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alan Stern committed with gregkh Jun 30, 2008
  3. USB: use reset_resume when normal resume fails

    This patch (as1109b) makes USB-Persist more resilient to errors.  With
    the current code, if a normal resume fails, it's an unrecoverable
    error.  With the patch, if a normal resume fails (and if the device is
    enabled for USB-Persist) then a reset-resume is tried.
    
    This fixes the problem reported in Bugzilla #10977.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alan Stern committed with gregkh Jun 30, 2008
  4. usb_gadget: composite cdc gadget fault handling

    These two fixes ensure the new "CDC Composite Device" gadget
    fails cleanly when it's loaded on hardware that can't support
    this particular gadget driver.
    
    Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    David Brownell committed with gregkh Jul 1, 2008
  5. usb gadget: minor USBCV fix for composite framework

    Fill in a reserved/unused device qualifier field to ensure that
    the USBCV tests will always pass.
    
    Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    David Lopo committed with gregkh Jul 1, 2008
  6. USB: Fix bug with byte order in isp116x-hcd.c fio write/read

    URB payload data are transfered in wrong byte order on a big endinan
    architecture (AVR32).
    
    Signed-off-by: Julien May <mailinglist@miromico.ch>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Julien May committed with gregkh Jun 27, 2008
  7. USB: fix double kfree in ipaq in error case

    in the error case the ipaq driver leaves a dangling pointer to already
    freed memory that will be freed again.
    
    Signed-off-by: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Oliver Neukum committed with gregkh Jun 30, 2008
  8. USB: fix build error in cdc-acm for CONFIG_PM=n

    Here's the fix. cdc-wdm has the same problem. The fix is the same.
    
    Signed-off-by: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Oliver Neukum committed with gregkh Jul 1, 2008
  9. USB: remove board-specific UP2OCR configuration from pxa27x-udc

    Remove the board-specific UP2OCR configuration from the
    pxa27x-udc driver.
    
    Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    drwyrm committed with gregkh Jul 2, 2008
  10. USB: EHCI: Reconciling USB register differences on MPC85xx vs MPC83xx

    A couple of USB register initializations had to be changed on MPC85xx
    platforms.  This is due to the internal SoC buses being different on
    MPC83xx SoCs vs MPC85xx SoCs.
    
    We currently handle this via an ifdef since 83xx and 85xx are mutually
    exclusive kernel builds.
    
    Signed-off-by: Srikanth Srinivasan <srikanth.srinivasan@freescale.com>
    Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Srikanth Srinivasan committed with gregkh Jul 2, 2008
  11. USB: Fix pointer/int cast in USB devio code

    Fix pointer/int cast in USB devio code, and thus avoid a compiler warning.
    
    A void* data argument passed to bus_find_device() and thence to match_devt()
    is used to carry a 32-bit datum.  However, casting directly between a u32 and
    a pointer is not permitted - there must be an intermediate cast via (unsigned)
    long.
    
    This was introduced by the following patch:
    
    	commit 94b1c9f
    	Author: Alan Stern <stern@rowland.harvard.edu>
    	Date:   Tue Jun 24 14:47:12 2008 -0400
    
    	    usbfs: simplify the lookup-by-minor routines
    
    	    This patch (as1105) simplifies the lookup-by-minor-number code in
    	    usbfs.  Instead of passing the minor number to the callback, which
    	    must then reconstruct the entire dev_t value, the patch passes the
    	    dev_t value directly.
    
    	    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    	    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    
    Signed-off-by: David Howells <dhowells@redhat.com>
    Cc: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    dhowells committed with gregkh Jul 2, 2008
  12. usb gadget: g_cdc dependso on NET

    g_cdc needs to depend on NET, otherwise net-related build errors happen:
    
    ERROR: "netif_carrier_on" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "netif_carrier_off" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "netif_rx" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "alloc_etherdev_mq" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "free_netdev" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "register_netdev" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "print_mac" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "dev_kfree_skb_any" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "__alloc_skb" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "eth_type_trans" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "unregister_netdev" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "__netif_schedule" [drivers/usb/gadget/g_cdc.ko] undefined!
    ERROR: "skb_put" [drivers/usb/gadget/g_cdc.ko] undefined!
    
    Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Randy Dunlap committed with gregkh Jul 3, 2008
  13. USB: Au1xxx-usb: suspend/resume support.

    Copy the OHCI/EHCI PM callbacks of the PCI implementation since
    they work equally well on Au1xxx hardware.
    
    Tested on Au1200.
    
    Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
    Cc: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Manuel Lauss committed with gregkh Jun 23, 2008
  14. USB: Au1xxx-usb: clean up ohci/ehci bus glue sources.

    - Fold multiple probe/remove callbacks into one function;
    - minor style fixes, no functional changes.
    
    Tested on Au1200.
    
    Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
    Cc: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Manuel Lauss committed with gregkh Jun 23, 2008
  15. usbfs: don't store bad pointers in registration

    This patch (as1107) fixes a small bug in the usbfs registration and
    unregistration code.  It avoids leaving an error value stored in the
    device's usb_classdev field and it avoids trying to unregister a NULL
    pointer.  (It also fixes a rather extreme overuse of whitespace.)
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alan Stern committed with gregkh Jun 24, 2008
  16. usbfs: fix race between open and unregister

    This patch (as1106) fixes a race between opening and unregistering
    device files in usbfs.  The current code drops its reference to the
    device and then reacquires it, ignoring the possibility that the
    device structure might have been removed in the meantime.  It also
    doesn't check whether the device is already in the NOTATTACHED state
    when the file is opened.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alan Stern committed with gregkh Jun 24, 2008
  17. usbfs: simplify the lookup-by-minor routines

    This patch (as1105) simplifies the lookup-by-minor-number code in
    usbfs.  Instead of passing the minor number to the callback, which
    must then reconstruct the entire dev_t value, the patch passes the
    dev_t value directly.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alan Stern committed with gregkh Jun 24, 2008
  18. usbfs: send disconnect signals when device is unregistered

    USB device files are accessible in two ways: as files in usbfs and as
    character device nodes.  The two paths are supposed to behave
    identically, but they don't.  When the underlying USB device is
    unplugged, disconnect signals are sent to processes with open usbfs
    files (if they requested these signals) but not to processes with open
    device node files.
    
    This patch (as1104) fixes the bug by moving the disconnect-signalling
    code into a common subroutine which is called from both paths.
    Putting this subroutine in devio.c removes the only out-of-file
    reference to struct dev_state, and so the structure's declaration can
    be moved from usb.h into devio.c.
    
    Finally, the new subroutine performs one extra action: It kills all
    the outstanding async URBs.  (I'd kill the outstanding synchronous
    URBs too, if there was any way to do it.)  In the past this hasn't
    mattered much, because devices were unregistered from usbfs only
    when they were disconnected.  But now the unregistration can also
    occur whenever devices are unbound from the usb_generic driver.  At
    any rate, killing URBs when a device is unregistered from usbfs seems
    like a good thing to do.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alan Stern committed with gregkh Jun 24, 2008
  19. USB: Force unbinding of drivers lacking reset_resume or other methods

    This patch (as1024) takes care of a FIXME issue: Drivers that don't
    have the necessary suspend, resume, reset_resume, pre_reset, or
    post_reset methods will be unbound and their interface reprobed when
    one of the unsupported events occurs.
    
    This is made slightly more difficult by the fact that bind operations
    won't work during a system sleep transition.  So instead the code has
    to defer the operation until the transition ends.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alan Stern committed with gregkh Jun 23, 2008
  20. USB: ohci-pnx4008: I2C cleanups and fixes

    Various cleanups and fixes to the i2c code in ohci-pnx4008:
    * Delete empty isp1301_command. The i2c driver command implementation
      is optional, so there's no point in providing an empty
      implementation.
    * Give a name to isp1301_driver. I'm surprised that i2c-core accepted
      to register this driver at all. I've chosen "isp1301_pnx" as the
      name, because it's not a generic ISP1301 driver (much like the
      isp1301_omap driver.) We might want to make the name even more
      specific (but "isp1301_ohci_pnx4008" doesn't fit.)
    * The ISP1301 is definitely not a hardware monitoring device.
    * Fix a memory leak on failure in isp1301_attach. If
      i2c_attach_client fails, the client is not registered so
      isp1301_detach is never called and the i2c_client memory is lost.
    * Use strlcpy instead of strcpy.
    
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Cc: Vitaly Wool <vitalywool@gmail.com>
    Cc: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Jean Delvare committed with gregkh Jun 18, 2008
  21. USB: debug port converter does not accept more than 8 byte packets

    USB debug port only supports 8 byte rx/tx packets. Although spec implies that
    "if a packet larger than eight bytes is received from the remote computer, the
    device must break the larger packet into eight-byte packets before sending the
    data to the Debug Port", the real PLX NET20DC device does not handle it right -
    data is corrupted on debug port end if serial interface sends >8 byte urbs.
    Patch below fixes the issue by limiting tx urb to 8 byte.
    
    Signed off by: Aleks Gorelov <dared1st@yahoo.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Aleksey Gorelov committed with gregkh Jun 19, 2008
  22. USB: fix disconnect bug in cdc-acm

    cdc-acm must give up secondary interfaces if the primary is disconnected
    and vice versa. This wasn't done correctly.
    
    Signed-off-by: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Oliver Neukum committed with gregkh Jun 25, 2008
  23. USB: fix usb serial pm counter decrement for disconnected interfaces

    usb serial decrements the pm counter even if an interface has been
    disconnected. If it was a logical disconnect the interface may belong
    already to another driver. This patch introduces a check for disconnected
    interfaces.
    
    Signed-off-by: Oliver Neukum <oneukum@suse.de>
    Cc: Stable <stable@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Oliver Neukum committed with gregkh Jun 25, 2008
  24. USB: autosuspend for cdc-wdm

    this patch implements
    
    - suspend/resume
    - aggressive autosuspend for the cdc-wdm driver
    - pre/post_reset
    
    Signed-off-by: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Oliver Neukum committed with gregkh Jun 24, 2008
  25. USB: additional power savings for cdc-acm devices that support remote…

    … wakeup
    
    this patch saves power for cdc-acm devices that support remote wakeup
    while the device is connected.
    
    - request needs_remote_wakeup when needed
    - delayed write while a device is autoresumed
    - the device is marked busy when appropriate
    
    Signed-off-by: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Oliver Neukum committed with gregkh Jun 20, 2008
  26. USB: keyspan: Remove duplicate device entries

    The 28xb, as documented in comments, has the same ID's as the 28x.
    Remove the duplicated ID's from the device tables, and expand the
    comment to document this.
    
    Signed-off-by: Ben Collins <ben.collins@canonical.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Ben Collins committed with gregkh Jun 27, 2008
  27. usb: fix uninitialized variable warning in keyspan_pda

    This fixes the compiler warning.
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Benny Halevy committed with gregkh Jun 27, 2008
  28. usb: r8a66597-hcd: fix iinterval for Full/Low speed device

    fix interrupt transfer interval for Full/Low speed device.
    
    Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Yoshihiro Shimoda committed with gregkh Jun 27, 2008
  29. usb: r8a66597-hcd: fix interrupt trigger

    fix the problem that did not set IRQF_TRIGGER_ flag.
    
    Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Yoshihiro Shimoda committed with gregkh Jun 27, 2008
  30. USB: fix usb_reset_device and usb_reset_composite_device(take 3)

    This patch renames the existing usb_reset_device in hub.c to
    usb_reset_and_verify_device and renames the existing
    usb_reset_composite_device to usb_reset_device. Also the new
    usb_reset_and_verify_device does't need to be EXPORTED .
    
    The idea of the patch is that external interface driver
    should warn the other interfaces' driver of the same
    device before and after reseting the usb device. One interface
    driver shoud call _old_ usb_reset_composite_device instead of
    _old_ usb_reset_device since it can't assume the device contains
    only one interface. The _old_ usb_reset_composite_device
    is safe for single interface device also. we rename the two
    functions to make the change easily.
    
    This patch is under guideline from Alan Stern.
    
    Signed-off-by: Ming Lei <tom.leiming@gmail.com>
    ming1 committed with gregkh Jun 18, 2008
  31. USB: usb-serial: fix a sparse warning about different signedness

    fix the following sparse warning:
    
    drivers/usb/serial/usb-serial.c:927:43: warning: incorrect type in argument 3 (different signedness)
    drivers/usb/serial/usb-serial.c:927:43:    expected unsigned int *minor
    drivers/usb/serial/usb-serial.c:927:43:    got int *<noident>
      CHECK   drivers/usb/serial/generic.c
    
    Signed-off-by: Andre Haupt <andre@bitwigglers.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    bitwigglers committed with gregkh Jun 18, 2008
  32. USB: isp1760: Support board-specific hardware configurations

    This adds support for hardware configurations that don't match the
    chip default register settings (e.g., 16-bit data bus, DACK and
    DREQ pulled up instead of down, analog overcurrent mode).
    
    These settings are passed in via the OF device tree.  The PCI
    interface still assumes the same default values.
    
    Signed-off-by: Nate Case <ncase@xes-inc.com>
    Acked-by: Olof Johansson <olof@lixom.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Nate Case committed with gregkh Jun 17, 2008
  33. USB: fix comment of usb_set_configuration

    It is the usb interface driver probe() methods that
    can't call usb_set_configuration, not usb device driver.
    
    Signed-off-by: Ming Lei <tom.leiming@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ming1 committed with gregkh Jun 17, 2008
  34. USB: use standard SG iterator in the scatter-gather library

    This patch (as1103) changes the iteration in the USB scatter-gather to
    use a standard SG iterator.  Otherwise the iteration will fail if it
    encounters a chained SG list.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Acked-by: Jens Axboe <jens.axboe@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alan Stern committed with gregkh Jun 16, 2008
  35. USB: remove interface parameter of usb_reset_composite_device

    From the current implementation of usb_reset_composite_device
    function, the iface parameter is no longer useful. This function
    doesn't do something special for the iface usb_interface,compared
    with other interfaces in the usb_device. So remove the parameter
    and fix the related caller.
    
    Signed-off-by: Ming Lei <tom.leiming@gmail.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ming1 committed with gregkh Jun 15, 2008