<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/usb/chipidea/udc.c, branch linux-4.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-09-24T08:09:32Z</updated>
<entry>
<title>usb: chipidea: udc: fix NULL ptr dereference in isr_setup_status_phase</title>
<updated>2016-09-24T08:09:32Z</updated>
<author>
<name>Clemens Gruber</name>
</author>
<published>2016-09-05T17:29:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ad907af183ffcaba876cfc5221ba9cd4e9bfd0b0'/>
<id>urn:sha1:ad907af183ffcaba876cfc5221ba9cd4e9bfd0b0</id>
<content type='text'>
commit 6f3c4fb6d05e63c9c6d8968302491c3a5457be61 upstream.

Problems with the signal integrity of the high speed USB data lines or
noise on reference ground lines can cause the i.MX6 USB controller to
violate USB specs and exhibit unexpected behavior.

It was observed that USBi_UI interrupts were triggered first and when
isr_setup_status_phase was called, ci-&gt;status was NULL, which lead to a
NULL pointer dereference kernel panic.

This patch fixes the kernel panic, emits a warning once and returns
-EPIPE to halt the device and let the host get stalled.
It also adds a comment to point people, who are experiencing this issue,
to their USB hardware design.

Signed-off-by: Clemens Gruber &lt;clemens.gruber@pqgruber.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: chipidea: udc: don't touch DP when controller is in host mode</title>
<updated>2016-09-07T06:34:54Z</updated>
<author>
<name>Li Jun</name>
</author>
<published>2016-08-16T11:19:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=99ecbb456e08f92e630c45d97dae7f5ed5deb7d3'/>
<id>urn:sha1:99ecbb456e08f92e630c45d97dae7f5ed5deb7d3</id>
<content type='text'>
commit c4e94174983a86c935be1537a73e496b778b0287 upstream.

When the controller is configured to be dual role and it's in host mode,
if bind udc and gadgt driver, those gadget operations will do gadget
disconnect and finally pull down DP line, which will break host function.

Signed-off-by: Li Jun &lt;jun.li@nxp.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: chipidea: udc: bypass otg status selector handling to gadget driver</title>
<updated>2016-03-04T13:14:36Z</updated>
<author>
<name>Li Jun</name>
</author>
<published>2016-02-19T02:04:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d6da40af0ead4dc6cb69071c1ec44a823144927d'/>
<id>urn:sha1:d6da40af0ead4dc6cb69071c1ec44a823144927d</id>
<content type='text'>
Since gadget driver will handle this request, so controller driver bypass
it.

Acked-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Li Jun &lt;jun.li@nxp.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: chipidea: udc: remove unused value assignment</title>
<updated>2016-02-29T05:37:50Z</updated>
<author>
<name>Li Jun</name>
</author>
<published>2016-01-21T07:39:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=34d5732dd61f65143098a949fd3dc15af9a112cc'/>
<id>urn:sha1:34d5732dd61f65143098a949fd3dc15af9a112cc</id>
<content type='text'>
retval is assigned to be -EOVERFLOW but is overwritten later before
it's used, remove this unused value assignment.

Signed-off-by: Li Jun &lt;jun.li@nxp.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
</content>
</entry>
<entry>
<title>usb: chipidea: support debugfs without CONFIG_USB_CHIPIDEA_DEBUG</title>
<updated>2015-12-24T06:15:26Z</updated>
<author>
<name>Peter Chen</name>
</author>
<published>2015-10-23T02:33:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9d8c850d02b01f3e0157a8f9859fe3f04cab68fe'/>
<id>urn:sha1:9d8c850d02b01f3e0157a8f9859fe3f04cab68fe</id>
<content type='text'>
Since we need to mount debugfs to show/store the things we
want to debug, it is duplicated to add another configuration
to enable it. Meanwhile, with CONFIG_USB_CHIPIDEA_DEBUG,
we can't support chipidea debugfs at runtime.

Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Cc: Jun Li &lt;jun.li@freescale.com&gt;
</content>
</entry>
<entry>
<title>usb: chipidea: udc: improve error handling on _hardware_enqueue</title>
<updated>2015-12-24T06:15:26Z</updated>
<author>
<name>Felipe F. Tonello</name>
</author>
<published>2015-10-27T10:36:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=779debdf26d4b49598e61e0c28ac97146a2b96fe'/>
<id>urn:sha1:779debdf26d4b49598e61e0c28ac97146a2b96fe</id>
<content type='text'>
_hardware_enqueue() didn't check for errors when using
add_td_to_list() which can fail if dma_pool_alloc fails, thus
causing a kernel panic when lastnode-&gt;ptr is NULL.

Signed-off-by: Felipe F. Tonello &lt;eu@felipetonello.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
</content>
</entry>
<entry>
<title>usb: chipidea: udc: _ep_queue and _hw_queue cleanup</title>
<updated>2015-12-24T06:15:26Z</updated>
<author>
<name>Felipe F. Tonello</name>
</author>
<published>2015-09-18T17:30:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e46fed9fb3a12b1070e2cc5ad03a21b84f94408d'/>
<id>urn:sha1:e46fed9fb3a12b1070e2cc5ad03a21b84f94408d</id>
<content type='text'>
Update comments to reflect current state of functions.

Signed-off-by: Felipe F. Tonello &lt;eu@felipetonello.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
</content>
</entry>
<entry>
<title>usb : replace dma_pool_alloc and memset with dma_pool_zalloc</title>
<updated>2015-12-01T22:26:33Z</updated>
<author>
<name>Saurabh Sengar</name>
</author>
<published>2015-10-28T07:14:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=84c1eeb02353ffcafe039e892410cad835334ba9'/>
<id>urn:sha1:84c1eeb02353ffcafe039e892410cad835334ba9</id>
<content type='text'>
replace dma_pool_alloc and memset with a single call to dma_pool_zalloc

Signed-off-by: Saurabh Sengar &lt;saurabh.truth@gmail.com&gt;
Acked-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>usb: chipidea: otg: gadget module load and unload support</title>
<updated>2015-11-18T06:07:54Z</updated>
<author>
<name>Li Jun</name>
</author>
<published>2014-12-12T01:11:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=85da852df66e5e0d3aba761b0fece7c958ff0685'/>
<id>urn:sha1:85da852df66e5e0d3aba761b0fece7c958ff0685</id>
<content type='text'>
This patch is to support load and unload gadget driver in full OTG mode.

Signed-off-by: Li Jun &lt;jun.li@freescale.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Tested-by: Jiada Wang &lt;jiada_wang@mentor.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; #v4.0+
</content>
</entry>
<entry>
<title>usb: chipidea: udc: using the correct stall implementation</title>
<updated>2015-09-15T08:08:28Z</updated>
<author>
<name>Peter Chen</name>
</author>
<published>2015-08-24T06:10:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=56ffa1d154c7e12af16273f0cdc42690dd05caf5'/>
<id>urn:sha1:56ffa1d154c7e12af16273f0cdc42690dd05caf5</id>
<content type='text'>
According to spec, there are functional and protocol stalls.

For functional stall, it is for bulk and interrupt endpoints,
below are cases for it:
- Host sends SET_FEATURE request for Set-Halt, the udc driver
needs to set stall, and return true unconditionally.
- The gadget driver may call usb_ep_set_halt to stall certain
endpoints, if there is a transfer in pending, the udc driver
should not set stall, and return -EAGAIN accordingly.
These two kinds of stall need to be cleared by host using CLEAR_FEATURE
request (Clear-Halt).

For protocol stall, it is for control endpoint, this stall will
be set if the control request has failed. This stall will be
cleared by next setup request (hardware will do it).

It fixed usbtest (drivers/usb/misc/usbtest.c) Test 13 "set/clear halt"
test failure, meanwhile, this change has been verified by
USB2 CV Compliance Test and MSC Tests.

Cc: &lt;stable@vger.kernel.org&gt; #3.10+
Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Cc: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
</content>
</entry>
</feed>
