Skip to content
Snippets Groups Projects
  1. Oct 13, 2010
    • Bryan Wu's avatar
      usb: musb: only write CLRDATATOG when appropriate · 4ee691f6
      Bryan Wu authored
      
      This is a change similar to what is already in the Linux driver.  We
      should only program the CLRDATATOG bit when the current mode indicates
      that it is needed.
      
      Signed-off-by: default avatarBryan Wu <bryan.wu@analog.com>
      Signed-off-by: default avatarCliff Cai <cliff.cai@analog.com>
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      4ee691f6
    • Ludovic Courtès's avatar
      usb: Add support for multiple-LUN mass storage devices · 99e9ed1f
      Ludovic Courtès authored
      
      This patch changes `usb_stor_scan' to scan all the LUNs of each mass
      storage device.  It also fixes the various commands to correctly set
      the LUN field.
      
      Notably, it allows each LUN of GuruPlug's microSD card reader to be
      accessed.
      
      Signed-off-by: default avatarLudovic Courtès <ludo@gnu.org>
      Acked-by: default avatarPrafulla Wadaskar <prafulla@marvell.com>
      99e9ed1f
    • Vitaly Kuzmichev's avatar
      USB-CDC: Prevent rx_req being enqueued twice · 98fae970
      Vitaly Kuzmichev authored
      
      After gadget reinitializaton (after tftp has been done once)
      packet_received may become equal to 1 due to nuking OUT_EP
      while disabling it in eth_reset_config.
      
      rx_submit called from usb_eth_init queues rx_req first time.
      But the first call of usb_eth_recv from NetLoop queues rx_req
      again due to packet_received = 1.
      
      The following flow shows the path of functions calls when
      this happens:
      
       net/net.c:NetLoop
       |
       +-net/eth.c:eth_init
       |   ether.c:usb_eth_init
       |   |
       |   +-udc_driver:usb_gadget_handle_interrupts
       |   |   udc_driver:...
       |   |     ether.c:eth_setup
       |   |       ether.c:eth_set_config
       |   |         ether.c:eth_reset_config
       |   |           udc_driver:usb_ep_disable
       |   |             udc_driver:nuke
       |   |               ether.c:rx_complete
       |   |                 ether.c: packet_received = 1;
       |   |
       |   +-ether.c:rx_submit
       |       udc_driver:usb_ep_queue --- The first time when rx_req is queued
       |
       +-net/eth.c:eth_rx
           ether.c:usb_eth_recv
           |
           +-udc_driver:usb_gadget_handle_interrupts
           |   udc_driver:... --- no interrupts, returning
           +-ether.c: if (packet_received) { ...
               ether.c:rx_submit
                 udc_driver:usb_ep_queue --- The second time!
      
      Signed-off-by: default avatarVitaly Kuzmichev <vkuzmichev@mvista.com>
      98fae970
    • Vitaly Kuzmichev's avatar
      USB-CDC: Fix tx/rx_req memory leaks · ac5d32d1
      Vitaly Kuzmichev authored
      
      Remove and fix needless and destructive operations with tx/rx_req.
      
      1) 'req' in rx_complete is always not NULL and always equals to rx_req
      2) Free allocated tx_req if rx_req allocation has failed
      3) Do not zero out tx/rx_req in usb_eth_init, leave this for
      eth_reset_config which will be called at the next use of usb0
      4) Additional check in usb_eth_recv is not required
      
      Signed-off-by: default avatarVitaly Kuzmichev <vkuzmichev@mvista.com>
      ac5d32d1
    • Marek Vasut's avatar
      USB: Make non-bulk delay longer in OHCI · f2443d10
      Marek Vasut authored
      
      This fixes TIMEOUT with my Kingston 32GB USB3.0 flashdrive, which I experienced
      on my PXA270 (USB 1.1) Vpac270 board.
      
      Signed-off-by: default avatarMarek Vasut <marek.vasut@gmail.com>
      f2443d10
  2. Oct 12, 2010
Loading