Patchwork [3.5.y.z,extended,stable] Patch "usb: chipidea: Allow disabling streaming not only in udc" has been added to staging queue

mail settings
Submitter Herton Ronaldo Krzesinski
Date Jan. 23, 2013, 9:39 p.m.
Message ID <>
Download mbox | patch
Permalink /patch/215048/
State New
Headers show


Herton Ronaldo Krzesinski - Jan. 23, 2013, 9:39 p.m.
This is a note to let you know that I have just added a patch titled

    usb: chipidea: Allow disabling streaming not only in udc

to the linux-3.5.y-queue branch of the 3.5.y.z extended stable tree 
which can be found at:;a=shortlog;h=refs/heads/linux-3.5.y-queue

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.5.y.z tree, see



From d4a4129190b835c68bf10ee4856c8b92946c2b21 Mon Sep 17 00:00:00 2001
From: Fabio Estevam <>
Date: Sat, 22 Dec 2012 09:24:11 -0200
Subject: [PATCH] usb: chipidea: Allow disabling streaming not only in udc

commit 929473ea05db455ad88cdc081f2adc556b8dc48f upstream.

When running a scp transfer using a USB/Ethernet adapter the following crash

$ scp test.tar.gz fabio@
fabio@'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:
[<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>]
[<80021814>] (warn_slowpath_common+0x0/0x6c) from [<80021924>]

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: Peter Chen <>
Signed-off-by: Fabio Estevam <>
Reviewed-by: Peter Chen <>
Signed-off-by: Greg Kroah-Hartman <>
[ herton: ci->platdata->flags is ci->udc_driver->flags on 3.5 ]
Signed-off-by: Herton Ronaldo Krzesinski <>
 drivers/usb/chipidea/host.c |    3 +++
 1 file changed, 3 insertions(+)



diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c
index 9eacd21..2400d18 100644
--- a/drivers/usb/chipidea/host.c
+++ b/drivers/usb/chipidea/host.c
@@ -128,6 +128,9 @@  static int host_start(struct ci13xxx *ci)
 		ci->hcd = hcd;

+	if (ci->udc_driver->flags & CI13XXX_DISABLE_STREAMING)
 	return ret;