1. 22 8月, 2016 1 次提交
  2. 11 8月, 2016 1 次提交
    • Y
      usb: renesas_usbhs: clear the BRDYSTS in usbhsg_ep_enable() · 9ab967e6
      Yoshihiro Shimoda 提交于
      This patch fixes an issue that unexpected BRDY interruption happens
      when the usb_ep_{enable,disable}() are called with different direction.
      In this case, the driver will cause the following message:
      
       renesas_usbhs e6590000.usb: irq_ready run_error 1 : -16
      
      This issue causes the followings:
       1) A pipe is enabled as transmission
       2) The pipe sent a data
       3) The pipe is disabled and re-enabled as reception.
       4) The pipe got a queue
      
      Since the driver doesn't clear the BRDYSTS flags after 2) above, the issue
      happens. If we add such clearing the flags into the driver, the code will
      become complicate. So, this patch clears the BRDYSTS flag of reception in
      usbhsg_ep_enable() to avoid complicate.
      
      Cc: <stable@vger.kernel.org> # v4.1+ (usbhs_xxxsts_clear() is needed)
      Signed-off-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
      9ab967e6
  3. 29 6月, 2016 1 次提交
    • Y
      usb: renesas_usbhs: protect the CFIFOSEL setting in usbhsg_ep_enable() · 15e4292a
      Yoshihiro Shimoda 提交于
      This patch fixes an issue that the CFIFOSEL register value is possible
      to be changed by usbhsg_ep_enable() wrongly. And then, a data transfer
      using CFIFO may not work correctly.
      
      For example:
       # modprobe g_multi file=usb-storage.bin
       # ifconfig usb0 192.168.1.1 up
       (During the USB host is sending file to the mass storage)
       # ifconfig usb0 down
      
      In this case, since the u_ether.c may call usb_ep_enable() in
      eth_stop(), if the renesas_usbhs driver is also using CFIFO for
      mass storage, the mass storage may not work correctly.
      
      So, this patch adds usbhs_lock() and usbhs_unlock() calling in
      usbhsg_ep_enable() to protect CFIFOSEL register. This is because:
       - CFIFOSEL.CURPIPE = 0 is also needed for the pipe configuration
       - The CFIFOSEL (fifo->sel) is already protected by usbhs_lock()
      
      Fixes: 97664a20 ("usb: renesas_usbhs: shrink spin lock area")
      Cc: <stable@vger.kernel.org> # v3.1+
      Signed-off-by: NYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Signed-off-by: NFelipe Balbi <felipe.balbi@linux.intel.com>
      15e4292a
  4. 19 4月, 2016 2 次提交
  5. 04 4月, 2016 1 次提交
  6. 04 3月, 2016 1 次提交
  7. 15 12月, 2015 1 次提交
  8. 20 11月, 2015 1 次提交
  9. 05 8月, 2015 1 次提交
  10. 29 7月, 2015 1 次提交
  11. 23 7月, 2015 1 次提交
  12. 20 3月, 2015 1 次提交
  13. 30 1月, 2015 1 次提交
  14. 06 11月, 2014 4 次提交
  15. 04 11月, 2014 1 次提交
  16. 25 9月, 2014 1 次提交
  17. 10 7月, 2014 1 次提交
  18. 18 12月, 2013 1 次提交
    • R
      usb: gadget: add "maxpacket_limit" field to struct usb_ep · e117e742
      Robert Baldyga 提交于
      This patch adds "maxpacket_limit" to struct usb_ep. This field contains
      maximum value of maxpacket supported by driver, and is set in driver probe.
      This value should be used by autoconfig() function, because value of field
      "maxpacket" is set to value from endpoint descriptor when endpoint becomes
      enabled. So when autoconfig() function will be called again for this endpoint,
      "maxpacket" value will contain wMaxPacketSize from descriptior instead of
      maximum packet size for this endpoint.
      
      For this reason this patch adds new field "maxpacket_limit" which contains
      value of maximum packet size (which defines maximum endpoint capabilities).
      This value is used in ep_matches() function used by autoconfig().
      
      Value of "maxpacket_limit" should be set in UDC driver probe function, using
      usb_ep_set_maxpacket_limit() function, defined in gadget.h. This function
      set choosen value to both "maxpacket_limit" and "maxpacket" fields.
      
      This patch modifies UDC drivers by adding support for maxpacket_limit.
      Signed-off-by: NRobert Baldyga <r.baldyga@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      e117e742
  19. 29 7月, 2013 1 次提交
  20. 15 7月, 2013 1 次提交
  21. 02 4月, 2013 1 次提交
    • K
      usb: renesas_usbhs: fixup sparse errors for common.c · 225da3e3
      Kuninori Morimoto 提交于
      This patch fixup below sparse errors
      
      CHECK   ${RENESAS_USB}/common.c
      ${RENESAS_USB}/common.c:313:17: error: incompatible types in conditional expression (different base types)
      ${RENESAS_USB}/common.c:322:17: error: incompatible types in conditional expression (different base types)
      ${RENESAS_USB}/common.c:384:17: error: incompatible types in conditional expression (different base types)
      ${RENESAS_USB}/common.c:524:9: error: incompatible types in conditional expression (different base types)
      ${RENESAS_USB}/common.c:545:9: error: incompatible types in conditional expression (different base types)
      ${RENESAS_USB}/common.c:574:9: error: incompatible types in conditional expression (different base types)
      ${RENESAS_USB}/common.c:606:9: error: incompatible types in conditional expression (different base types)
      ${RENESAS_USB}/mod_gadget.c:233:28: warning: symbol 'req_clear_feature' was not declared. Should it be static?
      ${RENESAS_USB}/mod_gadget.c:274:28: warning: symbol 'req_set_feature' was not declared. Should it be static?
      ${RENESAS_USB}/mod_gadget.c:375:28: warning: symbol 'req_get_status' was not declared. Should it be static?
      
      [ balbi@ti.com : added three sparse fixes to mod_gadget.c ]
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      225da3e3
  22. 18 3月, 2013 4 次提交
  23. 25 1月, 2013 1 次提交
  24. 13 12月, 2012 2 次提交
  25. 16 10月, 2012 1 次提交
  26. 04 5月, 2012 1 次提交
  27. 28 2月, 2012 1 次提交
  28. 24 2月, 2012 1 次提交
    • K
      usb: renesas_usbhs: bugfix: add .release function to gpriv->gadget.dev · 3b2a2e47
      Kuninori Morimoto 提交于
      This patch fixup below warning on device_unregister()
      
      renesas_usbhs renesas_usbhs.1: host probed
      renesas_usbhs renesas_usbhs.1: gadget probed
      renesas_usbhs renesas_usbhs.1: irq request err
      ------------[ cut here ]------------
      WARNING: at ${LINUX}/drivers/base/core.c:1)
      Device 'gadget' does not have a release() function, it is broken and must be fi.
      Modules linked in:
      [<c000e25c>] (unwind_backtrace+0x0/0xe4) from [<c0016960>] (warn_slowpath_commo)
      [<c0016960>] (warn_slowpath_common+0x4c/0x64) from [<c00169f8>] (warn_slowpath_)
      [<c00169f8>] (warn_slowpath_fmt+0x2c/0x3c) from [<c0185b80>] (device_release+0x)
      [<c0185b80>] (device_release+0x70/0x84) from [<c013e300>] (kobject_cleanup+0x58)
      [<c013e300>] (kobject_cleanup+0x58/0x6c) from [<c01cba14>] (usbhs_mod_gadget_re)
      [<c01cba14>] (usbhs_mod_gadget_remove+0x3c/0x6c) from [<c01c8384>] (usbhs_mod_p)
      [<c01c8384>] (usbhs_mod_probe+0x68/0x80) from [<c01c7f84>] (usbhs_probe+0x1cc/0)
      ...
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      3b2a2e47
  29. 24 1月, 2012 1 次提交
    • J
      usb: renesas: silence uninitialized variable report in usbhsg_recip_run_handle() · 7983bc74
      Jesper Juhl 提交于
      In drivers/usb/renesas_usbhs/mod_gadget.c::usbhsg_recip_run_handle()
      the Coverity Prevent checker currently flags a warning about possibly
      uninitialized use of 'ret' i usbhsg_recip_run_handle(). It does this
      since it assumes we take one of the non-default branches in the switch
      and then subsequently take the false branch in the 'if (func)' case
      below. This exact scenario will never happen, but Coverity can't see
      that for some reason. This patch initializes 'ret' to '0' when it is
      declared which should shut up this report and won't really hurt - so
      why not? At least then it's clear that 'ret' is always initialized..
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      7983bc74
  30. 15 12月, 2011 1 次提交
  31. 13 12月, 2011 1 次提交
  32. 12 12月, 2011 1 次提交