1. 22 10月, 2012 1 次提交
    • A
      EHCI: improved logic for isochronous scheduling · c3ee9b76
      Alan Stern 提交于
      This patch (as1608) reworks the logic used by ehci-hcd for scheduling
      isochronous transfers.  Now the modular calculations are all based on
      a window that starts at the last frame scanned for isochronous
      completions.  No transfer descriptors for any earlier frames can
      possibly remain on the schedule, so there can be no confusion from
      schedule wrap-around.  This removes the need for a "slop" region of
      arbitrary size.
      
      There's no need to check for URBs that are longer than the schedule
      length.  With the old code they could throw things off by wrapping
      around and appearing to end in the near future rather than the distant
      future.  Now such confusion isn't possible, and the existing test for
      submissions that extend too far into the future will also catch those
      that exceed the schedule length.  (But there still has to be an
      initial test to handle the case where the schedule already extends as
      far into the future as possible.)
      
      Delays caused by IRQ latency won't confuse the algorithm unless they
      are ridiculously long (over 250 ms); they will merely reduce how far
      into the future new transfers can be scheduled.  A few people have
      reported problems caused by delays of 50 ms or so.  Now instead of
      failing completely, isochronous transfers will experience a brief
      glitch and then continue normally.
      
      (Whether this is truly a good thing is debatable.  A latency as large
      as 50 ms generally indicates a bug is present, and complete failure of
      audio or video transfers draws people's attention pretty vividly.
      Making the transfers more robust also makes it easier for such bugs to
      remain undetected.)
      
      Finally, ehci->next_frame is renamed to ehci->last_iso_frame, because
      that better describes what it is: the last frame to have been scanned
      for isochronous completions.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c3ee9b76
  2. 20 10月, 2012 1 次提交
  3. 18 10月, 2012 22 次提交
  4. 17 10月, 2012 6 次提交
  5. 16 10月, 2012 4 次提交
  6. 15 10月, 2012 3 次提交
    • V
      usb: dwc3: shutdown usb_phy when removing the device · 01b8daf7
      Vivek Gautam 提交于
      We call usb_phy_init() from dwc3_core_init() during
      probe, so adding usb_phy_shutdown() to dwc3_core_exit()
      while removing the device so we don't keep PHYs
      turned on, consuming power, unnecessarily.
      Signed-off-by: NVivek Gautam <gautam.vivek@samsung.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      01b8daf7
    • S
      usb: musb: am35xx: drop spurious unplugging a device · 6ff1f3d3
      Stefano Babic 提交于
      On AM3517, tx and rx interrupt are detected together with
      the disconnect event. This generates a kernel panic in musb_interrupt,
      because rx / tx are handled after disconnect.
      This issue was seen on a Technexion's TAM3517 SOM. Unplugging a device,
      tx / rx interrupts together with disconnect are detected. This brings
      to kernel panic like this:
      
      [   68.526153] Unable to handle kernel NULL pointer dereference at virtual address 00000011
      [   68.534698] pgd = c0004000
      [   68.537536] [00000011] *pgd=00000000
      [   68.541351] Internal error: Oops: 17 [#1] ARM
      [   68.545928] Modules linked in:
      [   68.549163] CPU: 0    Not tainted  (3.6.0-rc5-00020-g9e05905 #178)
      [   68.555694] PC is at rxstate+0x8/0xdc
      [   68.559539] LR is at musb_interrupt+0x98/0x858
      [   68.564239] pc : [<c035cd88>]    lr : [<c035af1c>]    psr: 40000193
      [   68.564239] sp : ce83fb40  ip : d0906410  fp : 00000000
      [   68.576293] r10: 00000000  r9 : cf3b0e40  r8 : 00000002
      [   68.581817] r7 : 00000019  r6 : 00000001  r5 : 00000001  r4 : 000000d4
      [   68.588684] r3 : 00000000  r2 : 00000000  r1 : ffffffcc  r0 : cf23c108
      [   68.595550] Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment ke
      
      Note: this behavior is not seen with a USB hub, while it is
      easy to reproduce connecting a USB-pen directly to the USB-A of
      the board.
      
      Drop tx / rx interrupts if disconnect is detected.
      Signed-off-by: NStefano Babic <sbabic@denx.de>
      CC: Felipe Balbi <balbi@ti.com>
      Cc: stable@vger.kernel.org # 3.5 3.6
      Tested-by: NDmitry Lifshitz <lifshitz@compulab.co.il>
      Tested-by: NIgor Grinberg <grinberg@compulab.co.il>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      6ff1f3d3
    • F
      usb: dwc3: gadget: fix 'endpoint always busy' bug · 041d81f4
      Felipe Balbi 提交于
      If a USB transfer has already been started, meaning
      we have already issued StartTransfer command to that
      particular endpoint, DWC3_EP_BUSY flag has also
      already been set.
      
      When we try to cancel this transfer which is already
      in controller's cache, we will not receive XferComplete
      event and we must clear DWC3_EP_BUSY in order to allow
      subsequent requests to be properly started.
      
      The best place to clear that flag is right after issuing
      DWC3_DEPCMD_ENDTRANSFER.
      
      Cc: stable@vger.kernel.org # v3.4 v3.5 v3.6
      Reported-by: NMoiz Sonasath <m-sonasath@ti.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      041d81f4
  7. 12 10月, 2012 1 次提交
  8. 10 10月, 2012 1 次提交
    • A
      USB: EHCI: mark ehci_orion_conf_mbus_windows __devinit · 8855e49b
      Arnd Bergmann 提交于
      The __devinit section is going away soon, but while it's
      still there, we get a correct warning about
      ehci_orion_conf_mbus_windows being discarded before
      its caller, so it should be marked __devinit rather than
      __init.
      
      Without this patch, building dove_defconfig results in:
      
      WARNING: drivers/usb/host/built-in.o(.devinit.text+0x8a4): Section mismatch in reference from the function ehci_orion_drv_probe() to the function .init.text:ehci_orion_conf_mbus_windows()
      The function __devinit ehci_orion_drv_probe() references
      a function __init ehci_orion_conf_mbus_windows().
      If ehci_orion_conf_mbus_windows is only used by ehci_orion_drv_probe then
      annotate ehci_orion_conf_mbus_windows with a matching annotation.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: linux-usb@vger.kernel.org
      8855e49b
  9. 09 10月, 2012 1 次提交
    • K
      mm: kill vma flag VM_RESERVED and mm->reserved_vm counter · 314e51b9
      Konstantin Khlebnikov 提交于
      A long time ago, in v2.4, VM_RESERVED kept swapout process off VMA,
      currently it lost original meaning but still has some effects:
      
       | effect                 | alternative flags
      -+------------------------+---------------------------------------------
      1| account as reserved_vm | VM_IO
      2| skip in core dump      | VM_IO, VM_DONTDUMP
      3| do not merge or expand | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
      4| do not mlock           | VM_IO, VM_DONTEXPAND, VM_HUGETLB, VM_PFNMAP
      
      This patch removes reserved_vm counter from mm_struct.  Seems like nobody
      cares about it, it does not exported into userspace directly, it only
      reduces total_vm showed in proc.
      
      Thus VM_RESERVED can be replaced with VM_IO or pair VM_DONTEXPAND | VM_DONTDUMP.
      
      remap_pfn_range() and io_remap_pfn_range() set VM_IO|VM_DONTEXPAND|VM_DONTDUMP.
      remap_vmalloc_range() set VM_DONTEXPAND | VM_DONTDUMP.
      
      [akpm@linux-foundation.org: drivers/vfio/pci/vfio_pci.c fixup]
      Signed-off-by: NKonstantin Khlebnikov <khlebnikov@openvz.org>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Carsten Otte <cotte@de.ibm.com>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Morris <james.l.morris@oracle.com>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: Kentaro Takeda <takedakn@nttdata.co.jp>
      Cc: Matt Helsley <matthltc@us.ibm.com>
      Cc: Nick Piggin <npiggin@kernel.dk>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Suresh Siddha <suresh.b.siddha@intel.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Venkatesh Pallipadi <venki@google.com>
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      314e51b9