1. 30 Jun, 2010 8 commits
    • Wolfram Sang's avatar
      USB: ehci-mxc: bail out on transceiver problems · 4c9715de
      Wolfram Sang authored
      The old code registered the hcd even if there were no transceivers
      detected, leading to oopses like this if we try to probe a non-existant
      ULPI:
      
      [    2.730000] mxc-ehci mxc-ehci.0: unable to init transceiver
      [    2.740000] timeout polling for ULPI device
      [    2.740000] timeout polling for ULPI device
      [    2.750000] mxc-ehci mxc-ehci.0: unable to enable vbus on transceiver
      [    2.750000] mxc-ehci mxc-ehci.0: Freescale On-Chip EHCI Host Controller
      [    2.760000] mxc-ehci mxc-ehci.0: new USB bus registered, assigned bus number 2
      [    2.770000] Unhandled fault: external abort on non-linefetch (0x808) at 0xc4876184
      [    2.770000] Internal error: : 808 [#1] PREEMPT
      [    2.770000] last sysfs file:
      [    2.770000] Modules linked in:
      [    2.770000] CPU: 0    Not tainted  (2.6.33.5 #5)
      [    2.770000] PC is at ehci_hub_control+0x4d4/0x8f8
      [    2.770000] LR is at ehci_mxc_setup+0xbc/0xdc
      [    2.770000] pc : [<c0196dfc>]    lr : [<c019bc8c>]    psr: 00000093
      [    2.770000] sp : c3815e40  ip : 00000001  fp : 60000013
      [    2.770000] r10: c4876184  r9 : 00000000  r8 : c3814000
      [    2.770000] r7 : c391d2cc  r6 : 00000001  r5 : 00000001  r4 : 00000000
      [    2.770000] r3 : 80000000  r2 : 00000007  r1 : 80000000  r0 : c4876184
      [    2.770000] Flags: nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM Segment kernel
      [    2.770000] Control: 0005317f  Table: a0004000  DAC: 00000017
      [    2.770000] Process swapper (pid: 1, stack limit = 0xc3814270)
      ...
      Signed-off-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: stable <stable@kernel.org>
      Acked-by: default avatarDaniel Mack <daniel@caiaq.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4c9715de
    • Wolfram Sang's avatar
      USB: otg/ulpi: bail out on read errors · 7b4a0367
      Wolfram Sang authored
      otg_read may return errnos, so bail out correctly to prevent bogus
      ID-numbers.
      Signed-off-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Acked-by: default avatarDaniel Mack <daniel@caiaq.de>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      7b4a0367
    • Maulik Mankad's avatar
      usb: musb: Fix a bug by making suspend interrupt available in device mode · 2bb14cbf
      Maulik Mankad authored
      As a part of aligning the ISR code for MUSB with the specs, the
      ISR code was re-written. 
      
      See Commit 1c25fda4 (usb: musb: handle 
      irqs in the order dictated by programming guide)
      
      With this the suspend interrupt came accidently under CONFIG_USB_MUSB_HDRC_HCD.
      
      The fix brings suspend interrupt handling outside 
      CONFIG_USB_MUSB_HDRC_HCD.
      Signed-off-by: default avatarMaulik Mankad <x0082077@ti.com>
      Cc: David Brownell <david-b@pacbell.net>
      Acked-by: default avatarFelipe Balbi <felipe.balbi@nokia.com>
      Cc: stable <stable@kernel.org> [.34]
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      2bb14cbf
    • Nobuhiro Iwamatsu's avatar
      USB: r8a66597: Fix failure in change of status · a5797a68
      Nobuhiro Iwamatsu authored
      In the change by 749da5f8,
      The change in the status when the USB device is connected is wrong.
      Therefore, the device is not recognized.
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      CC: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
      CC: Paul Mundt" <lethal@linux-sh.org>
      Signed-off-by: default avatarNobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a5797a68
    • Sarah Sharp's avatar
      USB: xHCI: Fix bug in link TRB activation change. · 6cc30d85
      Sarah Sharp authored
      Commit 6c12db90 introduced a bug for
      control transfers.  The patch was supposed to change when the link TRBs at
      the end of each ring segment were given to the hardware.  If a transfer
      descriptor (TD) ended just before the link TRB, the code wouldn't give
      back the link TRB to the hardware; instead it would be given back in
      prepare_ring() just before the next TD was enqueued at the top of the
      ring.
      
      Unfortunately, the code relied on checking the chain bit of the TRB to
      determine whether the TD ended just before the link TRB.  It assumed that
      the ring enqueuing code would call prepare_ring() before enqueuing the
      next TD.  However, control transfers are made of multiple TDs, and
      prepare_ring() is only called once before enqueuing two or three TDs.
      
      If the first or second TD of the control transfer ended just before the
      link TRB, then the code in inc_enq() would not move the enqueue pointer
      past the link TRB, and the link TRB would get overwritten.  This would
      cause the xHCI driver to start writing to memory past the ring segment,
      and eventually the system would crash or hang.
      
      The fix is to add a flag to inc_enq() that says whether the caller will
      enqueue more TDs before calling prepare_ring().  If the chain bit is
      cleared (meaning this is the last TRB in a TD), and the caller will not
      enqueue more TDs, then we defer giving back the link TRB.
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6cc30d85
    • Michal Nazarewicz's avatar
      USB: gadget: g_fs: possible invalid pointer reference bug fixed · f588c0db
      Michal Nazarewicz authored
      During __gfs_do_config() some invalid pointers may be left
      in usb_configuration::interfaces array from previous calls
      to the __gfs_do_config() for the same configuration.  This
      will always happen if an user space function which has
      a fewer then the last user space function registers itself.
      Composite's set_config() function that a pointer after the
      last interface in usb_configuration::interface is NULL
      unless the array is full.
      
      This patch makes the __gfs_do_config() make sure that if the
      usb_configuration::interface is not full then a pointer
      after the last interface is NULL.
      Signed-off-by: default avatarMichal Nazarewicz <m.nazarewicz@samsung.com>
      Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      f588c0db
    • Jon Povey's avatar
      USB: g_serial: fix tty cleanup on unload · b23097b7
      Jon Povey authored
      Call put_tty_driver() in cleanup function, to fix Oops when trying to open
      gadget serial char device after module unload.
      Signed-off-by: default avatarJon Povey <jon.povey@racelogic.co.uk>
      Acked-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      b23097b7
    • Jon Povey's avatar
      USB: g_serial: don't set low_latency flag · 44a0c019
      Jon Povey authored
      No longer set low_latency flag as it causes this warning backtrace:
      
        WARNING: at kernel/mutex.c:207 __mutex_lock_slowpath+0x6c/0x288()
      
      Fix associated locking and wakeups.
      Signed-off-by: default avatarJon Povey <jon.povey@racelogic.co.uk>
      Cc: Maulik Mankad <x0082077@ti.com>
      Cc: stable <stable@kernel.org>
      Acked-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      44a0c019
  2. 28 Jun, 2010 1 commit
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://neil.brown.name/md · 93416253
      Linus Torvalds authored
      * 'for-linus' of git://neil.brown.name/md:
        md/raid5: don't include 'spare' drives when reshaping to fewer devices.
        md/raid5: add a missing 'continue' in a loop.
        md/raid5: Allow recovered part of partially recovered devices to be in-sync
        md/raid5: More careful check for "has array failed".
        md: Don't update ->recovery_offset when reshaping an array to fewer devices.
        md/raid5: avoid oops when number of devices is reduced then increased.
        md: enable raid4->raid0 takeover
        md: clear layout after ->raid0 takeover
        md: fix raid10 takeover: use new_layout for setup_conf
        md: fix handling of array level takeover that re-arranges devices.
        md: raid10: Fix null pointer dereference in fix_read_error()
        Restore partition detection of newly created md arrays.
      93416253
  3. 27 Jun, 2010 24 commits
  4. 26 Jun, 2010 7 commits