1. 16 Nov, 2010 4 commits
    • Alan Stern's avatar
      USB: EHCI: fix obscure race in ehci_endpoint_disable · 02e2c51b
      Alan Stern authored
      This patch (as1435) fixes an obscure and unlikely race in ehci-hcd.
      When an async URB is unlinked, the corresponding QH is removed from
      the async list.  If the QH's endpoint is then disabled while the URB
      is being given back, ehci_endpoint_disable() won't find the QH on the
      async list, causing it to believe that the QH has been lost.  This
      will lead to a memory leak at best and quite possibly to an oops.
      
      The solution is to trust usbcore not to lose track of endpoints.  If
      the QH isn't on the async list then it doesn't need to be taken off
      the list, but the driver should still wait for the QH to become IDLE
      before disabling it.
      
      In theory this fixes Bugzilla #20182.  In fact the race is so rare
      that it's not possible to tell whether the bug is still present.
      However, adding delays and making other changes to force the race
      seems to show that the patch works.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Reported-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      CC: David Brownell <david-b@pacbell.net>
      CC: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      02e2c51b
    • Josh Wu's avatar
      USB: gadget: AT91: fix typo in atmel_usba_udc driver · b4880951
      Josh Wu authored
      compile fix for bug introduced by 969affff)
      Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      b4880951
    • Axel Lin's avatar
      USB: isp1362-hcd - fix section mismatch warning · f52022b5
      Axel Lin authored
      Fix section mismatch warning by using "__devinit" annotation for isp1362_probe.
      
      WARNING: drivers/usb/host/isp1362-hcd.o(.data+0x0): Section mismatch in reference from the variable isp1362_driver to the function .init.text:isp1362_probe()
      The variable isp1362_driver references
      the function __init isp1362_probe()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
      Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
      Acked-by: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      f52022b5
    • Andiry Xu's avatar
      USB: EHCI: AMD periodic frame list table quirk · 3d091a6f
      Andiry Xu authored
      On AMD SB700/SB800/Hudson-2/3 platforms, USB EHCI controller may read/write
      to memory space not allocated to USB controller if there is longer than
      normal latency on DMA read encountered. In this condition the exposure will
      be encountered only if the driver has following format of Periodic Frame
      List link pointer structure:
      
      For any idle periodic schedule, the Frame List link pointers that have the
      T-bit set to 1 intending to terminate the use of frame list link pointer
      as a physical memory pointer.
      
      Idle periodic schedule Frame List Link pointer shoule be in the following
      format to avoid the issue:
      
      Frame list link pointer should be always contains a valid pointer to a
      inactive QHead with T-bit set to 0.
      Signed-off-by: default avatarAndiry Xu <andiry.xu@amd.com>
      Acked-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3d091a6f
  2. 15 Nov, 2010 10 commits
  3. 13 Nov, 2010 12 commits
  4. 12 Nov, 2010 14 commits