<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/usb/gadget, branch linux-3.15.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-3.15.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-3.15.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2014-07-09T18:21:24+00:00</updated>
<entry>
<title>usb: gadget: f_fs: fix NULL pointer dereference when there are no strings</title>
<updated>2014-07-09T18:21:24+00:00</updated>
<author>
<name>Michal Nazarewicz</name>
<email>mina86@mina86.com</email>
</author>
<published>2014-06-17T15:47:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=7416376c48e4324b7461476688a16a125c84ffd7'/>
<id>urn:sha1:7416376c48e4324b7461476688a16a125c84ffd7</id>
<content type='text'>
commit f0688c8b81d2ea239c3fb0b848f623b579238d99 upstream.

If the descriptors do not need any strings and user space sends empty
set of strings, the ffs-&gt;stringtabs field remains NULL.  Thus
*ffs-&gt;stringtabs in functionfs_bind leads to a NULL pointer
dereferenece.

The bug was introduced by commit [fd7c9a007f: “use usb_string_ids_n()”].

While at it, remove double initialisation of lang local variable in
that function.

ffs-&gt;strings_count does not need to be checked in any way since in
the above scenario it will remain zero and usb_string_ids_n() is
a no-operation when colled with 0 argument.

Signed-off-by: Michal Nazarewicz &lt;mina86@mina86.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: rename CONFIG_USB_GADGET_PXA25X</title>
<updated>2014-07-01T03:13:53+00:00</updated>
<author>
<name>Paul Bolle</name>
<email>pebolle@tiscali.nl</email>
</author>
<published>2014-05-26T21:37:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=702d5b2b469b648f60c837fd439b6f8c86fc0c22'/>
<id>urn:sha1:702d5b2b469b648f60c837fd439b6f8c86fc0c22</id>
<content type='text'>
commit d30f2065d6da377cc76771aca5a9850cfca8723b upstream.

Commit 193ab2a60700 ("usb: gadget: allow multiple gadgets to be built")
basically renamed the Kconfig symbol USB_GADGET_PXA25X to USB_PXA25X. It
did not rename the related macros in use at that time. Commit
c0a39151a405 ("ARM: pxa: fix inconsistent CONFIG_USB_PXA27X") did so for
all but one macro. Rename that last macro too now.

Fixes: 193ab2a60700 ("usb: gadget: allow multiple gadgets to be built")
Signed-off-by: Paul Bolle &lt;pebolle@tiscali.nl&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>usb: gadget: at91-udc: fix irq and iomem resource retrieval</title>
<updated>2014-04-30T16:59:06+00:00</updated>
<author>
<name>Jean-Jacques Hiblot</name>
<email>jjhiblot@traphandler.com</email>
</author>
<published>2014-03-12T16:30:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=886c7c426d465732ec9d1b2bbdda5642fc2e7e05'/>
<id>urn:sha1:886c7c426d465732ec9d1b2bbdda5642fc2e7e05</id>
<content type='text'>
When using dt resources retrieval (interrupts and reg properties) there is
no predefined order for these resources in the platform dev resource
table. Also don't expect the number of resource to be always 2.

Signed-off-by: Jean-Jacques Hiblot &lt;jjhiblot@traphandler.com&gt;
Acked-by: Boris BREZILLON &lt;b.brezillon@overkiz.com&gt;
Acked-by: Nicolas Ferre &lt;nicolas.ferre@atmel.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # 3.4
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: gadget: f_rndis: reduce NETTX irq caused by free skb header</title>
<updated>2014-04-21T15:19:53+00:00</updated>
<author>
<name>Macpaul Lin</name>
<email>macpaul@gmail.com</email>
</author>
<published>2014-04-15T08:09:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=2656c9e28125e96bee212f146cc3f2419fd3ffef'/>
<id>urn:sha1:2656c9e28125e96bee212f146cc3f2419fd3ffef</id>
<content type='text'>
This patch reduce unecessary NETTX softirq call caused by
free skb header. You will see this softirq comes twice while
there is only one TX packet to be transmitted.

So using dev_kfree_skb() instead of dev_kfree_skb_any() to
avoid this problem.

Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Macpaul Lin &lt;macpaul@gmail.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>Revert "usb: gadget: u_ether: move hardware transmit to RX NAPI"</title>
<updated>2014-04-21T15:15:12+00:00</updated>
<author>
<name>Felipe Balbi</name>
<email>balbi@ti.com</email>
</author>
<published>2014-04-21T15:15:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=9189a330936fe053d48e14c10a8d90aaef4408c9'/>
<id>urn:sha1:9189a330936fe053d48e14c10a8d90aaef4408c9</id>
<content type='text'>
This reverts commit 716fb91dfe1777bd6d5e598f3d3572214b3ed296.

That commit caused a regression which would end up in a kernel
BUG() as below:

[  101.554300] g_ether gadget: full-speed config #1: CDC Subset/SAFE
[  101.585186] ------------[ cut here ]------------
[  101.600587] kernel BUG at include/linux/netdevice.h:495!
[  101.615850] Internal error: Oops - BUG: 0 [#1] PREEMPT ARM
[  101.645539] Modules linked in:
[  101.660483] CPU: 0 PID: 0 Comm: swapper Not tainted 3.15.0-rc1+ #104
[  101.690175] task: c05dc5c8 ti: c05d2000 task.ti: c05d2000
[  101.705579] PC is at eth_start+0x64/0x8c
[  101.720981] LR is at __netif_schedule+0x7c/0x90
[  101.736455] pc : [&lt;c0299174&gt;]    lr : [&lt;c036a134&gt;]    psr: 60000093
[  101.736455] sp : c05d3d18  ip : c05d3cf8  fp : c05d3d2c
[  101.782340] r10: 00000000  r9 : c196c1f0  r8 : c196c1a0
[  101.797823] r7 : 00000000  r6 : 00000002  r5 : c1976400  r4 : c1976400
[  101.828058] r3 : 00000000  r2 : c05d3ce8  r1 : 00000001  r0 : 00000002
[  101.858722] Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM Segment kernel

Reported-by: Robert Jarzmik &lt;robert.jarzmik@free.fr&gt;
Signed-of-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: gadget: fsl driver pullup fix</title>
<updated>2014-04-17T15:25:07+00:00</updated>
<author>
<name>Suresh Gupta</name>
<email>suresh.gupta@freescale.com</email>
</author>
<published>2014-03-21T11:08:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=252455c40316009cc791f00338ee2e367d2d2739'/>
<id>urn:sha1:252455c40316009cc791f00338ee2e367d2d2739</id>
<content type='text'>
This fix the fsl usb gadget driver in a way that the usb device
will be only "pulled up" on requests only when vbus is powered

Signed-off-by: Suresh Gupta &lt;suresh.gupta@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: gadget: ffs: race between ffs_epfile_io() and ffs_func_eps_disable()</title>
<updated>2014-04-16T15:11:47+00:00</updated>
<author>
<name>Chao Bi</name>
<email>chao.bi@intel.com</email>
</author>
<published>2014-04-14T03:19:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=97839ca4b06ab27790700ad7da6be9a75fc0cc1d'/>
<id>urn:sha1:97839ca4b06ab27790700ad7da6be9a75fc0cc1d</id>
<content type='text'>
ffs_epfile_io() is called from userspace, while ffs_func_eps_disable() might be
called from USB disconnect interrupt, the two functions would run in parallel
but they are not well protected, that epfile-&gt;ep would be removed by
ffs_func_eps_disable() during ffs_epfile_io() is referring this pointer, then
it leads to kernel PANIC.

The scenario is as below:

Thread 1                                 Thread 2
   |                                        |
SyS_read                             dwc3_gadget_disconnect_interrupt
   |                                        |
ffs_epfile_read                         reset_config
   |                                        |
ffs_epfile_io                       ffs_func_eps_disable
   |                                        |
 -----                      usb_ep_disable():  epfile-&gt;ep-&gt;ep-&gt;desc = NULL
   |                                        |
usb_ep_align_maybe():                     -----
it refers ep-&gt;desc-&gt;wMaxPacketSize        -----

Signed-off-by: Chao Bi &lt;chao.bi@intel.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: gadget: rndis: Include "u_rndis.h"</title>
<updated>2014-04-16T15:11:47+00:00</updated>
<author>
<name>Fabio Estevam</name>
<email>fabio.estevam@freescale.com</email>
</author>
<published>2014-04-05T01:27:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ae8dd0cc4146740e24ffb2092530c47e838001c5'/>
<id>urn:sha1:ae8dd0cc4146740e24ffb2092530c47e838001c5</id>
<content type='text'>
Include "u_rndis.h" in order to fix the following sparse warning:

drivers/usb/gadget/rndis.c:1144:5: warning: symbol 'rndis_init' was not declared. Should it be static?
drivers/usb/gadget/rndis.c:1177:6: warning: symbol 'rndis_exit' was not declared. Should it be static?

Signed-off-by: Fabio Estevam &lt;fabio.estevam@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb : gadget : fsl: fix the fault issue on rmmod</title>
<updated>2014-04-16T15:11:46+00:00</updated>
<author>
<name>Suresh Gupta</name>
<email>suresh.gupta@freescale.com</email>
</author>
<published>2014-04-02T16:56:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=fc696881c6ec991f39a2f93d41f9ae841c6ace38'/>
<id>urn:sha1:fc696881c6ec991f39a2f93d41f9ae841c6ace38</id>
<content type='text'>
completion in udc_controller-&gt;done should be assign with proper
value before complete called. The complete called in fsl_udc_release
which intern called from usb_del_gadget_udc, so moving assignment
before calling usb_del_gadget_udc

Signed-off-by: Suresh Gupta &lt;suresh.gupta@freescale.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: gadget: gadgetfs: Initialize CHIP to NULL before UDC probe</title>
<updated>2014-04-16T15:11:46+00:00</updated>
<author>
<name>Lubomir Rintel</name>
<email>lkundrak@v3.sk</email>
</author>
<published>2014-03-27T07:09:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5cdf7d5be8443ba0e14a5cfe551c59f931983647'/>
<id>urn:sha1:5cdf7d5be8443ba0e14a5cfe551c59f931983647</id>
<content type='text'>
Otherwise the value from the last probe would be retained that possibly is
freed since (the UDC is removed) and therefore no longer relevant. Reproducible
with the dummy UDC:

  modprobe dummy_hcd
  mount -t gadgetfs gadgetfs /dev/gadget
  umount /dev/gadget
  rmmod dummy_hcd
  mount -t gadgetfs gadgetfs /dev/gadget

BUG: unable to handle kernel paging request at ffffffffa066fd9d
Call Trace:
 [&lt;ffffffff811d0cd2&gt;] ? d_alloc_name+0x22/0x50
 [&lt;ffffffff812b74dc&gt;] ? selinux_d_instantiate+0x1c/0x20
 [&lt;ffffffffa067d687&gt;] gadgetfs_create_file+0x27/0xa0 [gadgetfs]
 [&lt;ffffffffa067da70&gt;] ? setup_req.isra.4+0x80/0x80 [gadgetfs]
 [&lt;ffffffffa067dbac&gt;] gadgetfs_fill_super+0x13c/0x180 [gadgetfs]
 [&lt;ffffffff811bc832&gt;] mount_single+0x92/0xc0
 [&lt;ffffffffa067d0f8&gt;] gadgetfs_mount+0x18/0x20 [gadgetfs]
 [&lt;ffffffff811bc8f9&gt;] mount_fs+0x39/0x1b0
 [&lt;ffffffff8116b220&gt;] ? __alloc_percpu+0x10/0x20
 [&lt;ffffffff811d6da3&gt;] vfs_kern_mount+0x63/0xf0
 [&lt;ffffffff811d93be&gt;] do_mount+0x23e/0xac0
 [&lt;ffffffff811660eb&gt;] ? strndup_user+0x4b/0xf0
 [&lt;ffffffff811d9f63&gt;] SyS_mount+0x83/0xc0
 [&lt;ffffffff81695b69&gt;] system_call_fastpath+0x16/0x1b

Signed-off-by: Lubomir Rintel &lt;lkundrak@v3.sk&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
</feed>
