Skip to content
  • Fabio Estevam's avatar
    usb: chipidea: Allow disabling streaming not only in udc mode · 929473ea
    Fabio Estevam authored
    
    
    When running a scp transfer using a USB/Ethernet adapter the following crash
    happens:
    
    $ scp test.tar.gz fabio@192.168.1.100:/home/fabio
    fabio@192.168.1.100's password:
    test.tar.gz                                      0%    0     0.0KB/s   --:-- ETA
    ------------[ cut here ]------------
    WARNING: at net/sched/sch_generic.c:255 dev_watchdog+0x2cc/0x2f0()
    NETDEV WATCHDOG: eth0 (asix): transmit queue 0 timed out
    Modules linked in:
    Backtrace:
    [<80011c94>] (dump_backtrace+0x0/0x10c) from [<804d3a5c>] (dump_stack+0x18/0x1c)
     r6:000000ff r5:80412388 r4:80685dc0 r3:80696cc0
    [<804d3a44>] (dump_stack+0x0/0x1c) from [<80021868>]
    (warn_slowpath_common+0x54/0x6c)
    [<80021814>] (warn_slowpath_common+0x0/0x6c) from [<80021924>]
    (warn_slowpath_fmt+0x38/0x40)
    ...
    
    Setting SDIS (Stream Disable Mode- bit 4 of USBMODE register) fixes the problem.
    
    However, in current code CI13XXX_DISABLE_STREAMING flag is only set in udc mode,
    so allow disabling streaming also in host mode.
    
    Tested on a mx6qsabrelite board.
    
    Suggested-by: default avatarPeter Chen <peter.chen@freescale.com>
    Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
    Reviewed-by: default avatarPeter Chen <peter.chen@freescale.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    929473ea