<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/usb/dwc3, branch master</title>
<subtitle>Linux Kernel</subtitle>
<id>https://git.etezian.org/cgit.cgi/linux.git/atom?h=master</id>
<link rel='self' href='https://git.etezian.org/cgit.cgi/linux.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/'/>
<updated>2017-01-12T08:03:59+00:00</updated>
<entry>
<title>usb: dwc3: exynos fix axius clock error path to do cleanup</title>
<updated>2017-01-12T08:03:59+00:00</updated>
<author>
<name>Shuah Khan</name>
<email>shuahkh@osg.samsung.com</email>
</author>
<published>2017-01-10T23:05:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=8ae584d1951f241efd45499f8774fd7066f22823'/>
<id>urn:sha1:8ae584d1951f241efd45499f8774fd7066f22823</id>
<content type='text'>
Axius clock error path returns without disabling clock and suspend clock.
Fix it to disable them before returning error.

Reviewed-by: Javier Martinez Canillas &lt;javier@osg.samsung.com&gt;
Signed-off-by: Shuah Khan &lt;shuahkh@osg.samsung.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: gadget: Fix full speed mode</title>
<updated>2017-01-03T12:33:48+00:00</updated>
<author>
<name>Roger Quadros</name>
<email>rogerq@ti.com</email>
</author>
<published>2017-01-03T12:32:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=9418ee15f718939aa7e650fd586d73765eb21f20'/>
<id>urn:sha1:9418ee15f718939aa7e650fd586d73765eb21f20</id>
<content type='text'>
DCFG.DEVSPD == 0x3 is not valid and we need to set
DCFG.DEVSPD to 0x1 for full speed mode. Same goes for
DSTS.CONNECTSPD.

Old databooks had 0x3 for full speed in 48MHz mode for
USB1.1 transceivers which was never supported. Newer databooks
don't mention 0x3 at all.

Cc: John Youn &lt;John.Youn@synopsys.com&gt;
Signed-off-by: Roger Quadros &lt;rogerq@ti.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: pci: add Intel Gemini Lake PCI ID</title>
<updated>2017-01-02T08:55:28+00:00</updated>
<author>
<name>Heikki Krogerus</name>
<email>heikki.krogerus@linux.intel.com</email>
</author>
<published>2016-04-01T14:13:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=8f8983a5683623b62b339d159573f95a1fce44f3'/>
<id>urn:sha1:8f8983a5683623b62b339d159573f95a1fce44f3</id>
<content type='text'>
Intel Gemini Lake SoC has the same DWC3 than Broxton. Add
the new ID to the supported Devices.

Signed-off-by: Heikki Krogerus &lt;heikki.krogerus@linux.intel.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: pci: Add "linux,sysdev_is_parent" property</title>
<updated>2017-01-02T08:55:28+00:00</updated>
<author>
<name>John Youn</name>
<email>johnyoun@synopsys.com</email>
</author>
<published>2016-11-29T00:30:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=0eae2fde164caaa013a3f7341fd3e7e36e8e2865'/>
<id>urn:sha1:0eae2fde164caaa013a3f7341fd3e7e36e8e2865</id>
<content type='text'>
Calling platform_device_add_properties() replaces existing properties so
the "linux,sysdev_is_parent" property doesn't get set. Add this property
to each platform.

Fixes: d64ff406e51e ("usb: dwc3: use bus-&gt;sysdev for DMA configuration")
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: omap: fix race of pm runtime with irq handler in probe</title>
<updated>2017-01-02T08:55:28+00:00</updated>
<author>
<name>Grygorii Strashko</name>
<email>grygorii.strashko@ti.com</email>
</author>
<published>2016-12-12T19:37:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=12a7f17fac5b370bec87259e4c718faf563ce900'/>
<id>urn:sha1:12a7f17fac5b370bec87259e4c718faf563ce900</id>
<content type='text'>
Now races can happen between interrupt handler execution and PM runtime in
error handling code path in probe and in dwc3_omap_remove() which will lead
to system crash:

in probe:
...
 err1:
	pm_runtime_put_sync(dev);
^^ PM runtime can race with IRQ handler when deferred probing happening
   due to extcon
	pm_runtime_disable(dev);

	return ret;

in dwc3_omap_remove:
...
	dwc3_omap_disable_irqs(omap);
^^ IRQs are disabled in HW, but handler may still run
	of_platform_depopulate(omap-&gt;dev);
	pm_runtime_put_sync(&amp;pdev-&gt;dev);
^^ PM runtime can race with IRQ handler
	pm_runtime_disable(&amp;pdev-&gt;dev);

	return 0;

So, OMAP DWC3 IRQ need to be disabled before calling
pm_runtime_put() in probe and in dwc3_omap_remove().

Acked-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: skip interrupt when ep disabled</title>
<updated>2017-01-02T08:55:28+00:00</updated>
<author>
<name>Janusz Dziedzic</name>
<email>januszx.dziedzic@linux.intel.com</email>
</author>
<published>2016-12-08T09:57:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=d7fd41c6dbcc547578a8a56cc52d6f2d36e505bc'/>
<id>urn:sha1:d7fd41c6dbcc547578a8a56cc52d6f2d36e505bc</id>
<content type='text'>
In case EP disabled pass only EPCPLT command
to be handled. In other case we could hit
Bug like below.

BUG: unable to handle kernel NULL pointer dereference at 0000000000000003
IP:
[&lt;ffffffff81673428&gt;] dwc3_thread_interrupt+0x11c8/0x1790

while dep-&gt;endpoint.desc is NULL.

Signed-off-by: Janusz Dziedzic &lt;januszx.dziedzic@linux.intel.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: pci: Fix dr_mode misspelling</title>
<updated>2017-01-02T08:55:28+00:00</updated>
<author>
<name>Hans de Goede</name>
<email>hdegoede@redhat.com</email>
</author>
<published>2016-12-27T11:13:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=51c1685d956221576e165dd88a20063b169bae5a'/>
<id>urn:sha1:51c1685d956221576e165dd88a20063b169bae5a</id>
<content type='text'>
usb_get_dr_mode() expects the device-property to be spelled
"dr_mode" not "dr-mode".

Spelling it properly fixes the following warning showing up in dmesg:
[ 8704.500545] dwc3 dwc3.2.auto: Configuration mismatch. dr_mode forced to gadget

Signed-off-by: Hans de Goede &lt;hdegoede@redhat.com
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: core: avoid Overflow events</title>
<updated>2017-01-02T08:55:28+00:00</updated>
<author>
<name>Felipe Balbi</name>
<email>felipe.balbi@linux.intel.com</email>
</author>
<published>2016-12-23T12:40:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=e71d363d9c611c99fb78f53bfee99616e7fe352c'/>
<id>urn:sha1:e71d363d9c611c99fb78f53bfee99616e7fe352c</id>
<content type='text'>
Now that we're handling so many transfers at a time
and for some dwc3 revisions LPM events *must* be
enabled, we can fall into a situation where too many
events fire and we start receiving Overflow events.

Let's do what XHCI does and allocate a full page for
the Event Ring, this will avoid any future issues.

Cc: &lt;stable@vger.kernel.org&gt; # v4.9
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: gadget: always unmap EP0 requests</title>
<updated>2017-01-02T08:55:28+00:00</updated>
<author>
<name>Felipe Balbi</name>
<email>felipe.balbi@linux.intel.com</email>
</author>
<published>2016-12-20T12:14:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=d62145929992f331fdde924d5963ab49588ccc7d'/>
<id>urn:sha1:d62145929992f331fdde924d5963ab49588ccc7d</id>
<content type='text'>
commit 0416e494ce7d ("usb: dwc3: ep0: correct cache
sync issue in case of ep0_bounced") introduced a bug
where we would leak DMA resources which would cause
us to starve the system of them resulting in failing
DMA transfers.

Fix the bug by making sure that we always unmap EP0
requests since those are *always* mapped.

Fixes: 0416e494ce7d ("usb: dwc3: ep0: correct cache
	sync issue in case of ep0_bounced")
Cc: &lt;stable@vger.kernel.org&gt;
Tested-by: Tomasz Medrek &lt;tomaszx.medrek@intel.com&gt;
Reported-by: Janusz Dziedzic &lt;januszx.dziedzic@linux.intel.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc3: ep0: explicitly call dwc3_ep0_prepare_one_trb()</title>
<updated>2017-01-02T08:55:28+00:00</updated>
<author>
<name>Felipe Balbi</name>
<email>felipe.balbi@linux.intel.com</email>
</author>
<published>2016-12-20T12:08:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.etezian.org/cgit.cgi/linux.git/commit/?id=19ec31230eb3084431bc2e565fd085f79f564274'/>
<id>urn:sha1:19ec31230eb3084431bc2e565fd085f79f564274</id>
<content type='text'>
Let's call dwc3_ep0_prepare_one_trb() explicitly
because there are occasions where we will need more
than one TRB to handle an EP0 transfer.

A follow-up patch will fix one bug related to
multiple-TRB Data Phases when it comes to
mapping/unmapping requests for DMA.

Cc: &lt;stable@vger.kernel.org&gt;
Reported-by: Janusz Dziedzic &lt;januszx.dziedzic@linux.intel.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
</feed>
