<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/usb/gadget, branch linux-4.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-12-09T19:31:21Z</updated>
<entry>
<title>usb: gadget: atmel_usba_udc: Expose correct device speed</title>
<updated>2015-12-09T19:31:21Z</updated>
<author>
<name>Douglas Gilbert</name>
</author>
<published>2015-11-16T18:22:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b380e1570a80c9f87aaab4201426859816380706'/>
<id>urn:sha1:b380e1570a80c9f87aaab4201426859816380706</id>
<content type='text'>
commit d134c48d889ddceadf4c990e6f3df16b816ed5d4 upstream.

Following changes that appeared in lk 4.0.0, the gadget udc driver for
some ARM based Atmel SoCs (e.g. at91sam9x5 and sama5d3 families)
incorrectly deduced full-speed USB link speed even when the hardware
had negotiated a high-speed link. The fix is to make sure that the
UDPHS Interrupt Enable Register value does not mask the SPEED bit
in the Interrupt Status Register.

For a mass storage gadget this problem lead to failures when the host
had a USB 3 port with the xhci_hcd driver. If the host was a USB 2
port using the ehci_hcd driver then the mass storage gadget worked
(but probably at a lower speed than it should have).

Signed-off-by: Douglas Gilbert &lt;dgilbert@interlog.com&gt;
Reviewed-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
Fixes: 9870d895ad87 ("usb: atmel_usba_udc: Mask status with enabled irqs")
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: gadget: net2280: restore ep_cfg after defect7374 workaround</title>
<updated>2015-12-09T19:31:20Z</updated>
<author>
<name>Mian Yousaf Kaukab</name>
</author>
<published>2015-10-19T14:25:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e3c606d2d0fad088b0c1fd191a9c161a5e48a39a'/>
<id>urn:sha1:e3c606d2d0fad088b0c1fd191a9c161a5e48a39a</id>
<content type='text'>
commit 81e9d14a53eb1abfbe6ac828a87a2deb4702b5f1 upstream.

Defect 7374 workaround enables all GPEP as endpoint 0. Restore
endpoint number when defect 7374 workaround is disabled. Otherwise,
check to match USB endpoint number to hardware endpoint number in
net2280_enable() fails.

Reported-by: Paul Jones &lt;p.jones@teclyn.com&gt;
Signed-off-by: Mian Yousaf Kaukab &lt;yousaf.kaukab@intel.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: gadget: f_uac2: finalize wMaxPacketSize according to bandwidth</title>
<updated>2015-09-21T17:10:52Z</updated>
<author>
<name>Peter Chen</name>
</author>
<published>2015-07-30T05:13:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c25ec85099c45c364181284c4eb4936aa7374cc2'/>
<id>urn:sha1:c25ec85099c45c364181284c4eb4936aa7374cc2</id>
<content type='text'>
commit 913e4a90b6f9687ac0f543e7b632753e4f51c441 upstream.

According to USB Audio Device 2.0 Spec, Ch4.10.1.1:
wMaxPacketSize is defined as follows:
Maximum packet size this endpoint is capable of sending or receiving
when this configuration is selected.
This is determined by the audio bandwidth constraints of the endpoint.

In current code, the wMaxPacketSize is defined as the maximum packet size
for ISO endpoint, and it will let the host reserve much more space than
it really needs, so that we can't let more endpoints work together at
one frame.

We find this issue when we try to let 4 f_uac2 gadgets work together [1]
at FS connection.

[1]http://www.spinics.net/lists/linux-usb/msg123478.html

Acked-by: Daniel Mack &lt;zonque@gmail.com&gt;
Cc: andrzej.p@samsung.com
Cc: Daniel Mack &lt;zonque@gmail.com&gt;
Cc: tiwai@suse.de
Cc: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: gadget: m66592-udc: forever loop in set_feature()</title>
<updated>2015-09-21T17:10:52Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2015-07-29T21:30:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8e07a319b155824ce74496798a2e73a84c4ef025'/>
<id>urn:sha1:8e07a319b155824ce74496798a2e73a84c4ef025</id>
<content type='text'>
commit 5feb5d2003499b1094d898c010a7604d7afddc4c upstream.

There is an "&amp;&amp;" vs "||" typo here so this loops 3000 times or if we get
unlucky it could loop forever.

Fixes: ceaa0a6eeadf ('usb: gadget: m66592-udc: add support for TEST_MODE')
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: udc: core: add device_del() call to error pathway</title>
<updated>2015-08-03T14:54:18Z</updated>
<author>
<name>Alan Stern</name>
</author>
<published>2015-01-16T16:32:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c93e64e91248becd0edb8f01723dff9da890e2ab'/>
<id>urn:sha1:c93e64e91248becd0edb8f01723dff9da890e2ab</id>
<content type='text'>
This patch fixes a bug in the error pathway of
usb_add_gadget_udc_release() in udc-core.c.  If the udc registration
fails, the gadget registration is not fully undone; there's a
put_device(&amp;gadget-&gt;dev) call but no device_del().

CC: &lt;stable@vger.kernel.org&gt;
Acked-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: gadget: f_printer: actually limit the number of instances</title>
<updated>2015-07-27T15:19:50Z</updated>
<author>
<name>Andrzej Pietrasiewicz</name>
</author>
<published>2015-07-24T07:48:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4248bd7d3e2c7c87ff695d812018b8c22b5a5ab1'/>
<id>urn:sha1:4248bd7d3e2c7c87ff695d812018b8c22b5a5ab1</id>
<content type='text'>
There is a predefined maximum number of printer instances, currently 4.
A chrdev region is allocated accordingly, but with configfs the user
can create as many printer function directories as they like. To make the
number of printer  instances consistent with the number of allocated
minors, the limit is enforced at directory creation time.

Signed-off-by: Andrzej Pietrasiewicz &lt;andrzej.p@samsung.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: gadget: f_hid: actually limit the number of instances</title>
<updated>2015-07-27T15:19:50Z</updated>
<author>
<name>Andrzej Pietrasiewicz</name>
</author>
<published>2015-07-24T07:48:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=774cf72f8ad971031428f8057d2947c8780a7b8c'/>
<id>urn:sha1:774cf72f8ad971031428f8057d2947c8780a7b8c</id>
<content type='text'>
There is a predefined maximum number of hid instances, currently 4.
A chrdev region is allocated accordingly, but with configfs the user
can create as many hid function directories as they like. To make
the number of hid instances consistent with the number of allocated minors,
the limit is enforced at directory creation time.

Signed-off-by: Andrzej Pietrasiewicz &lt;andrzej.p@samsung.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: gadget: f_uac2: fix calculation of uac2-&gt;p_interval</title>
<updated>2015-07-27T15:18:06Z</updated>
<author>
<name>Peter Chen</name>
</author>
<published>2015-07-27T06:51:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c41b7767673cb76adeb2b5fde220209f717ea13c'/>
<id>urn:sha1:c41b7767673cb76adeb2b5fde220209f717ea13c</id>
<content type='text'>
The p_interval should be less if the 'bInterval' at the descriptor
is larger, eg, if 'bInterval' is 5 for HS, the p_interval should be
8000 / 16 = 500.

It fixes the patch 9bb87f168931 ("usb: gadget: f_uac2: send
reasonably sized packets")

Cc: &lt;stable@vger.kernel.org&gt; # v3.18+
Fixes: 9bb87f168931 ("usb: gadget: f_uac2: send reasonably sized packets")
Acked-by: Daniel Mack &lt;zonque@gmail.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: gadget: bdc: fix a driver crash on disconnect</title>
<updated>2015-07-27T15:15:06Z</updated>
<author>
<name>Al Cooper</name>
</author>
<published>2015-07-24T20:09:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=02c3b4c75994888e58a6e6e8176640cde9822597'/>
<id>urn:sha1:02c3b4c75994888e58a6e6e8176640cde9822597</id>
<content type='text'>
ep_dequeue() in bdc_ep.c was capturing the hw dequeue pointer
incorrectly by reading the wrong register for the upper 32 bits.

Signed-off-by: Al Cooper &lt;alcooperx@gmail.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: gadget: udc: core: Fix argument of dma_map_single for IOMMU</title>
<updated>2015-07-20T17:57:46Z</updated>
<author>
<name>Yoshihiro Shimoda</name>
</author>
<published>2015-07-13T09:10:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ace8fc8219e4cbbfd5b4790390d9a01a2541cdf'/>
<id>urn:sha1:7ace8fc8219e4cbbfd5b4790390d9a01a2541cdf</id>
<content type='text'>
The dma_map_single and dma_unmap_single should set "gadget-&gt;dev.parent"
instead of "&amp;gadget-&gt;dev" in the first argument because the parent has
a udc controller's device pointer.
Otherwise, iommu functions are not called in ARM environment.

Signed-off-by: Yoshihiro Shimoda &lt;yoshihiro.shimoda.uh@renesas.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
</feed>
