<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/usb/musb, branch linux-3.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-09-15T17:30:45Z</updated>
<entry>
<title>usb: musb: tusb6010_omap: Do not reset the other direction's packet size</title>
<updated>2017-09-15T17:30:45Z</updated>
<author>
<name>Peter Ujfalusi</name>
</author>
<published>2017-05-17T16:23:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=94d4358abb9e6b2c8d8e31c44f449d79502176ad'/>
<id>urn:sha1:94d4358abb9e6b2c8d8e31c44f449d79502176ad</id>
<content type='text'>
commit 6df2b42f7c040d57d9ecb67244e04e905ab87ac6 upstream.

We have one register for each EP to set the maximum packet size for both
TX and RX.
If for example an RX programming would happen before the previous TX
transfer finishes we would reset the TX packet side.

To fix this issue, only modify the TX or RX part of the register.

Fixes: 550a7375fe72 ("USB: Add MUSB and TUSB support")
Signed-off-by: Peter Ujfalusi &lt;peter.ujfalusi@ti.com&gt;
Tested-by: Tony Lindgren &lt;tony@atomide.com&gt;
Signed-off-by: Bin Liu &lt;b-liu@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>usb: musb: Fix trying to free already-free IRQ 4</title>
<updated>2017-03-16T02:18:39Z</updated>
<author>
<name>Tony Lindgren</name>
</author>
<published>2017-01-04T00:13:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c5ddd2e9e4730c716f473d96b4490b0a83890628'/>
<id>urn:sha1:c5ddd2e9e4730c716f473d96b4490b0a83890628</id>
<content type='text'>
commit 8c300fe282fa254ea730c92cb0983e2642dc1fff upstream.

When unloading omap2430, we can get the following splat:

WARNING: CPU: 1 PID: 295 at kernel/irq/manage.c:1478 __free_irq+0xa8/0x2c8
Trying to free already-free IRQ 4
...
[&lt;c01a8b78&gt;] (free_irq) from [&lt;bf0aea84&gt;]
(musbhs_dma_controller_destroy+0x28/0xb0 [musb_hdrc])
[&lt;bf0aea84&gt;] (musbhs_dma_controller_destroy [musb_hdrc]) from
[&lt;bf09f88c&gt;] (musb_remove+0xf0/0x12c [musb_hdrc])
[&lt;bf09f88c&gt;] (musb_remove [musb_hdrc]) from [&lt;c056a384&gt;]
(platform_drv_remove+0x24/0x3c)
...

This is because the irq number in use is 260 nowadays, and the dma
controller is using u8 instead of int.

Fixes: 6995eb68aab7 ("USB: musb: enable low level DMA operation for Blackfin")
Signed-off-by: Tony Lindgren &lt;tony@atomide.com&gt;
[b-liu@ti.com: added Fixes tag]
Signed-off-by: Bin Liu &lt;b-liu@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>usb: musb: Stop bulk endpoint while queue is rotated</title>
<updated>2016-08-22T21:37:13Z</updated>
<author>
<name>Andrew Goodbody</name>
</author>
<published>2016-05-31T15:05:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ba4a8aad2441531e9d434ef07312944c8cc91e4'/>
<id>urn:sha1:7ba4a8aad2441531e9d434ef07312944c8cc91e4</id>
<content type='text'>
commit 7b2c17f829545df27a910e8d82e133c21c9a8c9c upstream.

Ensure that the endpoint is stopped by clearing REQPKT before
clearing DATAERR_NAKTIMEOUT before rotating the queue on the
dedicated bulk endpoint.
This addresses an issue where a race could result in the endpoint
receiving data before it was reprogrammed resulting in a warning
about such data from musb_rx_reinit before it was thrown away.
The data thrown away was a valid packet that had been correctly
ACKed which meant the host and device got out of sync.

Signed-off-by: Andrew Goodbody &lt;andrew.goodbody@cambrionix.com&gt;
Signed-off-by: Bin Liu &lt;b-liu@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
[bwh: Backported to 3.2: adjust context, indentation]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>usb: musb: Ensure rx reinit occurs for shared_fifo endpoints</title>
<updated>2016-08-22T21:37:13Z</updated>
<author>
<name>Andrew Goodbody</name>
</author>
<published>2016-05-31T15:05:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=442f839f65a350dc3ee910fb83c30757566dc98b'/>
<id>urn:sha1:442f839f65a350dc3ee910fb83c30757566dc98b</id>
<content type='text'>
commit f3eec0cf784e0d6c47822ca6b66df3d5812af7e6 upstream.

shared_fifo endpoints would only get a previous tx state cleared
out, the rx state was only cleared for non shared_fifo endpoints
Change this so that the rx state is cleared for all endpoints.
This addresses an issue that resulted in rx packets being dropped
silently.

Signed-off-by: Andrew Goodbody &lt;andrew.goodbody@cambrionix.com&gt;
Signed-off-by: Bin Liu &lt;b-liu@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>usb: musb: core: fix order of arguments to ulpi write callback</title>
<updated>2015-12-30T02:25:55Z</updated>
<author>
<name>Uwe Kleine-König</name>
</author>
<published>2015-10-23T07:53:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fff91a21b73be03e2ee85765d5599c9450b22ed7'/>
<id>urn:sha1:fff91a21b73be03e2ee85765d5599c9450b22ed7</id>
<content type='text'>
commit 705e63d2b29c8bbf091119084544d353bda70393 upstream.

There is a bit of a mess in the order of arguments to the ulpi write
callback. There is

	int ulpi_write(struct ulpi *ulpi, u8 addr, u8 val)

in drivers/usb/common/ulpi.c;

	struct usb_phy_io_ops {
		...
		int (*write)(struct usb_phy *x, u32 val, u32 reg);
	}

in include/linux/usb/phy.h.

The callback registered by the musb driver has to comply to the latter,
but up to now had "offset" first which effectively made the function
broken for correct users. So flip the order and while at it also
switch to the parameter names of struct usb_phy_io_ops's write.

Fixes: ffb865b1e460 ("usb: musb: add ulpi access operations")
Signed-off-by: Uwe Kleine-König &lt;u.kleine-koenig@pengutronix.de&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>usb: musb: core: fix TX/RX endpoint order</title>
<updated>2015-08-06T23:32:00Z</updated>
<author>
<name>Felipe Balbi</name>
</author>
<published>2013-12-30T18:33:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=48a3b3037c59087b07f61c2b981382df479c9902'/>
<id>urn:sha1:48a3b3037c59087b07f61c2b981382df479c9902</id>
<content type='text'>
commit e3c93e1a3f35be4cf1493d3ccfb0c6d9209e4922 upstream.

As per Mentor Graphics' documentation, we should
always handle TX endpoints before RX endpoints.

This patch fixes that error while also updating
some hard-to-read comments which were scattered
around musb_interrupt().

This patch should be backported as far back as
possible since this error has been in the driver
since it's conception.

Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
[bwh: Backported to 3.2: adjust context, indentation]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>usb: musb: core: print new line in the driver banner again</title>
<updated>2013-02-06T04:33:19Z</updated>
<author>
<name>Sergei Shtylyov</name>
</author>
<published>2012-11-14T15:49:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9d38cd591c7e22932c7bb8e138231c87108c7aec'/>
<id>urn:sha1:9d38cd591c7e22932c7bb8e138231c87108c7aec</id>
<content type='text'>
commit 2ac788f705e5118dd45204e7a5bc8d5bb6873835 upstream.

Commit 5c8a86e10a7c164f44537fabdc169fd8b4e7a440 (usb: musb: drop unneeded
musb_debug trickery) erroneously removed '\n' from the driver's banner.
Concatenate all the banner substrings while adding it back...

Signed-off-by: Sergei Shtylyov &lt;sshtylyov@ru.mvista.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>usb: musb: cppi_dma: export cppi_interrupt()</title>
<updated>2013-01-03T03:33:02Z</updated>
<author>
<name>Sergei Shtylyov</name>
</author>
<published>2012-11-05T19:26:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72e6b965c6ddad7b49f9be237b3556006776da3d'/>
<id>urn:sha1:72e6b965c6ddad7b49f9be237b3556006776da3d</id>
<content type='text'>
commit 8b416b0b25d5d8ddb3a91c1d20e1373582c50405 upstream.

Now that DaVinci glue layer can be modular, we must export cppi_interrupt()
that it may call...

Signed-off-by: Sergei Shtylyov &lt;sshtylyov@ru.mvista.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>usb: musb_gadget: fix crash caused by dangling pointer</title>
<updated>2012-06-19T22:18:11Z</updated>
<author>
<name>Grazvydas Ignotas</name>
</author>
<published>2012-05-25T21:21:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c022fe20a36fa5c578a76b6c9a64b5d663f82f4b'/>
<id>urn:sha1:c022fe20a36fa5c578a76b6c9a64b5d663f82f4b</id>
<content type='text'>
commit 08f75bf14fadaa81fe362d5acda9b77b113dd0a2 upstream.

usb_ep_ops.disable must clear external copy of the endpoint descriptor,
otherwise musb crashes after loading/unloading several gadget modules
in a row:

Unable to handle kernel paging request at virtual address bf013730
pgd = c0004000
[bf013730] *pgd=8f26d811, *pte=00000000, *ppte=00000000
Internal error: Oops: 7 [#1]
Modules linked in: g_cdc [last unloaded: g_file_storage]
CPU: 0    Not tainted  (3.2.17 #647)
PC is at musb_gadget_enable+0x4c/0x24c
LR is at _raw_spin_lock_irqsave+0x4c/0x58
[&lt;c027c030&gt;] (musb_gadget_enable+0x4c/0x24c) from [&lt;bf01b760&gt;] (gether_connect+0x3c/0x19c [g_cdc])
[&lt;bf01b760&gt;] (gether_connect+0x3c/0x19c [g_cdc]) from [&lt;bf01ba1c&gt;] (ecm_set_alt+0x15c/0x180 [g_cdc])
[&lt;bf01ba1c&gt;] (ecm_set_alt+0x15c/0x180 [g_cdc]) from [&lt;bf01ecd4&gt;] (composite_setup+0x85c/0xac4 [g_cdc])
[&lt;bf01ecd4&gt;] (composite_setup+0x85c/0xac4 [g_cdc]) from [&lt;c027b744&gt;] (musb_g_ep0_irq+0x844/0x924)
[&lt;c027b744&gt;] (musb_g_ep0_irq+0x844/0x924) from [&lt;c027a97c&gt;] (musb_interrupt+0x79c/0x864)
[&lt;c027a97c&gt;] (musb_interrupt+0x79c/0x864) from [&lt;c027aaa8&gt;] (generic_interrupt+0x64/0x7c)
[&lt;c027aaa8&gt;] (generic_interrupt+0x64/0x7c) from [&lt;c00797cc&gt;] (handle_irq_event_percpu+0x28/0x178)
...

Signed-off-by: Grazvydas Ignotas &lt;notasas@gmail.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>usb: musb: omap: fix the error check for pm_runtime_get_sync</title>
<updated>2012-05-11T12:14:06Z</updated>
<author>
<name>Shubhrajyoti D</name>
</author>
<published>2012-03-22T07:18:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e67ffa6107563e7c147d3648d7b457c0ac571d8'/>
<id>urn:sha1:2e67ffa6107563e7c147d3648d7b457c0ac571d8</id>
<content type='text'>
commit ad579699c4f0274bf522a9252ff9b20c72197e48 upstream.

pm_runtime_get_sync returns a signed integer. In case of errors
it returns a negative value. This patch fixes the error check
by making it signed instead of unsigned thus preventing register
access if get_sync_fails. Also passes the error cause to the
debug message.

Cc:  Kishon Vijay Abraham I &lt;kishon@ti.com&gt;
Signed-off-by: Shubhrajyoti D &lt;shubhrajyoti@ti.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
</feed>
