1. 17 7月, 2016 1 次提交
  2. 27 9月, 2015 3 次提交
  3. 22 9月, 2015 1 次提交
  4. 06 8月, 2015 1 次提交
  5. 05 8月, 2015 1 次提交
  6. 08 5月, 2015 2 次提交
  7. 04 4月, 2015 1 次提交
  8. 25 3月, 2015 1 次提交
    • T
      usb: musb: Fix fifo reads for dm816x with musb_dsps · 3e457371
      Tony Lindgren 提交于
      Looks like dm81xx can only do 32-bit fifo reads like am35x. Let's set
      up musb-dsps with a custom read_fifo function based on the compatible
      flag.
      
      Otherwise we can get the following errors when starting dhclient on a
      asix USB Ethernet adapter:
      
      asix 2-1:1.0 eth2: asix_rx_fixup() Bad Header Length 0xffff003c, offset 4
      
      While at it, let's also remove pointless cast of the driver data.
      
      Cc: Bin Liu <binmlist@gmail.com>
      Cc: Brian Hutchinson <b.hutchman@gmail.com>
      Cc: George Cherian <george.cherian@ti.com>
      Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      3e457371
  9. 11 3月, 2015 10 次提交
  10. 23 2月, 2015 2 次提交
  11. 25 11月, 2014 1 次提交
  12. 08 11月, 2014 1 次提交
  13. 04 11月, 2014 3 次提交
  14. 23 10月, 2014 2 次提交
    • S
      usb: musb: musb_dsps: fix NULL pointer in suspend · f042e9cb
      Sebastian Andrzej Siewior 提交于
      So testing managed to configure musb in DMA mode but not load the
      matching cppi41 driver for DMA. This results in
      
      |musb-hdrc musb-hdrc.0.auto: Failed to request rx1.
      |musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517
      |platform musb-hdrc.0.auto: Driver musb-hdrc requests probe deferral
      
      which is "okay". Once the driver is loaded we re-try probing and
      everyone is happy. Until then if you try suspend say
          echo mem > /sys/power/state
      then you go boom
      
      |Unable to handle kernel NULL pointer dereference at virtual address 000003a4
      |pgd = cf50c000
      |[000003a4] *pgd=8f6a3831, *pte=00000000, *ppte=00000000
      |Internal error: Oops: 17 [#1] ARM
      |PC is at dsps_suspend+0x18/0x9c [musb_dsps]
      |LR is at dsps_suspend+0x18/0x9c [musb_dsps]
      |pc : [<bf08e268>] lr : [<bf08e268>] psr: a0000013
      |sp : cbd97e00 ip : c0af4394 fp : 00000000
      |r10: c0831d90 r9 : 00000002 r8 : cf6da410
      |r7 : c03ba4dc r6 : bf08f224 r5 : 00000000 r4 : cbc5fcd0
      |r3 : bf08e250 r2 : bf08f264 r1 : cf6da410 r0 : 00000000
      |[<bf08e268>] (dsps_suspend [musb_dsps]) from [<c03ba508>] (platform_pm_suspend+0x2c/0x54)
      |Code: e1a04000 e9900041 e2800010 eb4caa8e (e59053a4)
      
      because platform_get_drvdata(glue->musb) returns a NULL pointer as long as the
      device is not fully probed.
      Tested-by: NGeorge Cherian <george.cherian@ti.com>
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      f042e9cb
    • S
      usb: musb: dsps: start OTG timer on resume again · 53185b3a
      Sebastian Andrzej Siewior 提交于
      Commit 468bcc2a ("usb: musb: dsps: kill OTG timer on suspend") stopped
      the timer in suspend path but forgot the re-enable it in the resume
      path. This patch fixes the behaviour.
      
      Cc: <stable@vger.kernel.org> # v3.14+
      Fixes 468bcc2a "usb: musb: dsps: kill OTG timer on suspend"
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      53185b3a
  15. 16 9月, 2014 1 次提交
  16. 16 7月, 2014 2 次提交
  17. 01 7月, 2014 3 次提交
  18. 22 4月, 2014 3 次提交
  19. 16 4月, 2014 1 次提交
    • D
      usb: musb: dsps: move debugfs_remove_recursive() · 0fca91b8
      Daniel Mack 提交于
      When the platform initialization fails due to missing resources, it will
      return -EPROBE_DEFER after dsps_musb_init() has been called.
      
      dsps_musb_init() calls dsps_musb_dbg_init() to allocate the debugfs
      nodes. At a later point in time, the probe will be retried, and
      dsps_musb_dbg_init() will be called again. debugfs_create_dir() will
      fail this time, as the node already exists, and so the entire device
      probe will fail with -ENOMEM.
      
      Fix this by moving debugfs_remove_recursive() from dsps_remove() to the
      plaform's exit function, so it will be cleanly torn down when the probe
      fails. It also feels more natural this way, as .exit is the counterpart
      to .init.
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      0fca91b8