1. 31 1月, 2012 1 次提交
  2. 24 1月, 2012 1 次提交
  3. 13 1月, 2012 1 次提交
  4. 21 12月, 2011 1 次提交
  5. 20 12月, 2011 6 次提交
  6. 14 12月, 2011 1 次提交
  7. 12 12月, 2011 11 次提交
  8. 06 12月, 2011 1 次提交
  9. 29 11月, 2011 2 次提交
    • M
      usb: udc: Fix gadget driver's speed check in various UDC drivers · bfe0658b
      Michal Nazarewicz 提交于
      Several UDC drivers had a gadget driver's speed sanity check of the
      form of:
      
      	driver->speed != USB_SPEED_HIGH
      
      or:
      
      	driver->speed != USB_SPEED_HIGH && driver->speed != USB_SPEED_FULL
      
      As more and more gadget drivers support USB SuperSpeed, driver->speed
      may be set to USB_SPEED_SUPER and UDC driver should handle such gadget
      correctly.  The above checks however fail to recognise USB_SPEED_SUPER
      as a valid speed.
      
      This commit changes the two checks to:
      
      	driver->speed < USB_SPEED_HIGH
      
      or:
      
      	driver->speed < USB_SPEED_FULL
      
      respectively.
      Signed-off-by: NMichal Nazarewicz <mina86@mina86.com>
      Reported-by: NAlan Stern <stern@rowland.harvard.edu>
      Tested-by: NHeiko Stuebner <heiko@sntech.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      bfe0658b
    • K
      usb: musb: PM: fix context save/restore in suspend/resume path · 5d193ce8
      Kevin Hilman 提交于
      Currently the driver tries to save context in the suspend path, but
      will cause an abort if the device is already runtime suspended.  This
      happens, for example, if MUSB loaded/compiled-in, in host mode, but no
      USB devices are attached.  MUSB will be runtime suspended, but then
      attempting a system suspend will crash due to the context save
      being attempted while the device is disabled.
      
      On OMAP, as of v3.1, the driver's ->runtime_suspend() callback will be
      called late in the suspend path (by the PM domain layer) if the driver
      is not already runtime suspended, ensuring a full shutdown.
      
      Therefore, the context save is not needed in the ->suspend() method
      since it will be called in the ->runtime_suspend() method anyways
      (similarily for resume.)
      
      NOTE: this leaves the suspend/resume methods basically empty (with
            some FIXMEs and comments, but I'll leave it to the maintainers
            to decide whether to remove them.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NKevin Hilman <khilman@ti.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      5d193ce8
  10. 17 11月, 2011 1 次提交
  11. 15 11月, 2011 5 次提交
    • A
      USB: Remove the SAW_IRQ hcd flag · 968b822c
      Alan Stern 提交于
      The HCD_FLAG_SAW_IRQ flag was introduced in order to catch IRQ routing
      errors: If an URB was unlinked and the host controller hadn't gotten
      any IRQs, it seemed likely that the IRQs were directed to the wrong
      vector.
      
      This warning hasn't come up in many years, as far as I know; interrupt
      routing now seems to be well under control.  Therefore there's no
      reason to keep the flag around any more.  This patch (as1495) finally
      removes it.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      968b822c
    • F
      usb: musb: fix compilation breakage introduced by de477254 · ab570da2
      Felipe Balbi 提交于
      commit de477254 (include: replace linux/module.h
      with "struct module" wherever possible) introduced
      a compilation breaked when it removed <linux/module.h>
      from <linux/device.h> which musb glue layers were
      (mistakenly) relying on.
      
      Include that header to fix the compile error.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      ab570da2
    • L
      usb: musb: hdrc: fix dependency on USB_GADGET_DUALSPEED in Kconfig · 0de174b5
      Luciano Coelho 提交于
      USB_MUSB_HDRC depends on USB_GADGET_DUALSPEED.  If HDRC is selected
      but DUALSPEED is not, the kernel oopses:
      
      [    3.132781] Unable to handle kernel NULL pointer dereference at virtual address 00000000
      [    3.141296] pgd = c0004000
      [    3.144134] [00000000] *pgd=00000000
      [    3.147918] Internal error: Oops: 5 [#1] SMP
      [    3.152404] Modules linked in:
      [    3.155609] CPU: 0    Not tainted  (3.1.0-rc9-wl+ #417)
      [    3.161132] PC is at composite_setup+0x738/0xbb4
      [    3.165985] LR is at vprintk+0x400/0x47c
      [    3.170135] pc : [<c031df90>]    lr : [<c004c150>]    psr: 60000093
      [    3.170135] sp : c065dd50  ip : dfb1f0fc  fp : c065ddbc
      [    3.182220] r10: 00000000  r9 : df8fcae8  r8 : df8fcaa0
      [    3.187713] r7 : 00000000  r6 : df8eaa20  r5 : dfae8ea0  r4 : 00000000
      [    3.194580] r3 : df8fcae8  r2 : 00010002  r1 : c065dc40  r0 : 00000047
      [    3.201446] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      [    3.209228] Control: 10c53c7d  Table: 8000404a  DAC: 00000015
      [    3.215270] Process swapper (pid: 0, stack limit = 0xc065c2f8)
      [    3.221405] Stack: (0xc065dd50 to 0xc065e000)
      [...]
      [    3.415405] [<c031df90>] (composite_setup+0x738/0xbb4) from [<c0310d18>] (musb_g_ep0_irq+0x9d0/0xaf8)
      [    3.425109] [<c0310d18>] (musb_g_ep0_irq+0x9d0/0xaf8) from [<c030fb04>] (musb_interrupt+0xb48/0xc74)
      [    3.434722] [<c030fb04>] (musb_interrupt+0xb48/0xc74) from [<c030fc98>] (generic_interrupt+0x68/0x80)
      [    3.444458] [<c030fc98>] (generic_interrupt+0x68/0x80) from [<c0095204>] (handle_irq_event_percpu+0x9c/0x234)
      [    3.454925] [<c0095204>] (handle_irq_event_percpu+0x9c/0x234) from [<c00953e8>] (handle_irq_event+0x4c/0x6c)
      [    3.465270] [<c00953e8>] (handle_irq_event+0x4c/0x6c) from [<c0097e10>] (handle_fasteoi_irq+0xd8/0x110)
      [    3.475158] [<c0097e10>] (handle_fasteoi_irq+0xd8/0x110) from [<c0094d2c>] (generic_handle_irq+0x34/0x3c)
      [    3.485260] [<c0094d2c>] (generic_handle_irq+0x34/0x3c) from [<c0014ae4>] (handle_IRQ+0x88/0xc8)
      [    3.494537] [<c0014ae4>] (handle_IRQ+0x88/0xc8) from [<c00085b0>] (asm_do_IRQ+0x18/0x1c)
      [    3.503051] [<c00085b0>] (asm_do_IRQ+0x18/0x1c) from [<c0429e78>] (__irq_svc+0x38/0xc0)
      
      This patch changes Kconfig so that USB_GADGET_DUALSPEED is selected
      automatically by USB_MUSB_HDRC.
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      0de174b5
    • M
      usb: musb: remove incorrectly added ARCH_U5500 define · d0678594
      Mian Yousaf Kaukab 提交于
      ARCH_U8500 covers both MACH_U8500 and MACH_U5500
      Reported-by: NPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: NMian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d0678594
    • F
      usb: musb: gadget: don't call ->disconnect() on exit · 3c2d636a
      Felipe Balbi 提交于
      that has already being done by udc-core.c. It's
      unnecessary and might cause issues with some gadget
      drivers.
      
      Tested: Ajay Kumar Gupta <ajay.gupta@ti.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      3c2d636a
  12. 26 9月, 2011 1 次提交
  13. 18 9月, 2011 1 次提交
  14. 15 9月, 2011 1 次提交
  15. 10 9月, 2011 1 次提交
  16. 09 9月, 2011 1 次提交
  17. 24 8月, 2011 1 次提交
    • K
      USB: use usb_endpoint_maxp() instead of le16_to_cpu() · 29cc8897
      Kuninori Morimoto 提交于
      Now ${LINUX}/drivers/usb/* can use usb_endpoint_maxp(desc) to get maximum packet size
      instead of le16_to_cpu(desc->wMaxPacketSize).
      This patch fix it up
      
      Cc: Armin Fuerst <fuerst@in.tum.de>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Johannes Erdfelt <johannes@erdfelt.com>
      Cc: Vojtech Pavlik <vojtech@suse.cz>
      Cc: Oliver Neukum <oliver@neukum.name>
      Cc: David Kubicek <dave@awk.cz>
      Cc: Johan Hovold <jhovold@gmail.com>
      Cc: Brad Hards <bhards@bigpond.net.au>
      Acked-by: NFelipe Balbi <balbi@ti.com>
      Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
      Cc: Thomas Dahlmann <dahlmann.thomas@arcor.de>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: David Lopo <dlopo@chipidea.mips.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Michal Nazarewicz <m.nazarewicz@samsung.com>
      Cc: Xie Xiaobo <X.Xie@freescale.com>
      Cc: Li Yang <leoli@freescale.com>
      Cc: Jiang Bo <tanya.jiang@freescale.com>
      Cc: Yuan-hsin Chen <yhchen@faraday-tech.com>
      Cc: Darius Augulis <augulis.darius@gmail.com>
      Cc: Xiaochen Shen <xiaochen.shen@intel.com>
      Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Cc: OKI SEMICONDUCTOR, <toshiharu-linux@dsn.okisemi.com>
      Cc: Robert Jarzmik <robert.jarzmik@free.fr>
      Cc: Ben Dooks <ben@simtec.co.uk>
      Cc: Thomas Abraham <thomas.ab@samsung.com>
      Cc: Herbert Pötzl <herbert@13thfloor.at>
      Cc: Arnaud Patard <arnaud.patard@rtp-net.org>
      Cc: Roman Weissgaerber <weissg@vienna.at>
      Acked-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: Tony Olech <tony.olech@elandigitalsystems.com>
      Cc: Florian Floe Echtler <echtler@fs.tum.de>
      Cc: Christian Lucht <lucht@codemercs.com>
      Cc: Juergen Stuber <starblue@sourceforge.net>
      Cc: Georges Toth <g.toth@e-biz.lu>
      Cc: Bill Ryder <bryder@sgi.com>
      Cc: Kuba Ober <kuba@mareimbrium.org>
      Cc: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      29cc8897
  18. 12 8月, 2011 3 次提交
    • S
      usb: musb: gadget: fix error path · 6193d699
      Sebastian Andrzej Siewior 提交于
      In case one "forgot" to load the receiver i.e. doing
      |modprobe omap2430
      |modprobe musb_hdrc
      
      he ends up with:
      
      |musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
      |HS USB OTG: no transceiver configured
      |musb-hdrc musb-hdrc: musb_init_controller failed with status -19
      |(NULL device *): gadget not registered.
      |Unable to handle kernel NULL pointer dereference at virtual address 0000001c
      |Internal error: Oops: 17 [#1] SMP
      |[<c011383c>] (sysfs_find_dirent+0x4/0x60) from [<c01138c0>] (sysfs_get_dirent+0x28/0x78)
      |[<c01138c0>] (sysfs_get_dirent+0x28/0x78) from [<c0115b78>] (sysfs_unmerge_group+0x1c/0x90)
      |[<c0115b78>] (sysfs_unmerge_group+0x1c/0x90) from [<c0179ba4>] (dpm_sysfs_remove+0x14/0x3c)
      |[<c0179ba4>] (dpm_sysfs_remove+0x14/0x3c) from [<c01742f8>] (device_del+0x40/0x1b4)
      |[<c01742f8>] (device_del+0x40/0x1b4) from [<c0174478>] (device_unregister+0xc/0x18)
      |[<c0174478>] (device_unregister+0xc/0x18) from [<bf0489b4>] (musb_free+0x24/0x88 [musb_hdrc])
      |[<bf0489b4>] (musb_free+0x24/0x88 [musb_hdrc]) from [<bf057d18>] (musb_probe+0xb50/0xe3c [musb_hdrc])
      |[<bf057d18>] (musb_probe+0xb50/0xe3c [musb_hdrc]) from [<c01779c4>] (platform_drv_probe+0x1c/0x24)
      
      The problem is that musb_free() tries to figure out what was
      initializued and what wasn't and clean up only the initialized part.
      This works well for usb_del_gadget_udc() but device_unregister() can't
      deal with it. Therefore we rely on the fact the we always have a parent
      device and only then remove the device.
      I broke this in 0f91349b ("usb: gadget: convert all users to the new udc
      infrastructure")
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      6193d699
    • B
      usb: musb: blackfin: include prefetch head file · ad50c1b2
      Bob Liu 提交于
      After the prefetch/list.h restructure, drivers need to explicitly include
      linux/prefetch.h in order to use the prefetch() function.  Otherwise, the
      current driver fails to build:
      drivers/usb/musb/blackfin.c: In function 'musb_write_fifo':
      drivers/usb/musb/blackfin.c:43: error: implicit declaration of function
      'prefetch'
      Signed-off-by: NBob Liu <lliubbo@gmail.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      ad50c1b2
    • F
      usb: musb: tusb6010: fix compilation · 240a16e2
      Felipe Balbi 提交于
      earlier commits have broken compilation of
      tusb6010 glue layer, fix it.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      240a16e2