<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/usb, branch v3.19-rc5</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Merge tag 'fixes-for-v3.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus</title>
<updated>2015-01-15T00:27:23+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2015-01-15T00:27:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f8359dae68bd29ed7b3f91971e361801442c7b9b'/>
<id>f8359dae68bd29ed7b3f91971e361801442c7b9b</id>
<content type='text'>
Felipe writes:

usb: fixes for v3.19-rc6

The final set of fixes for v3.19. Two of the fixes are
related to dwc3 scatter/gather implementation when we have
more requests queued than available TRBs, while the other
is a build fix for mv-usb PHY.

Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Felipe writes:

usb: fixes for v3.19-rc6

The final set of fixes for v3.19. Two of the fixes are
related to dwc3 scatter/gather implementation when we have
more requests queued than available TRBs, while the other
is a build fix for mv-usb PHY.

Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'usb-serial-3.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus</title>
<updated>2015-01-14T23:39:23+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2015-01-14T23:39:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=919ba4ee1badf6247f8064bdec2c80e389b57c40'/>
<id>919ba4ee1badf6247f8064bdec2c80e389b57c40</id>
<content type='text'>
Johan writes:

USB-serial fixes for v3.18-rc5

Here are a few fixes for reported problems including a possible
null-deref on probe with keyspan, a misbehaving modem, and a couple of
issues with the USB console.

Some new device IDs are also added.

Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Johan writes:

USB-serial fixes for v3.18-rc5

Here are a few fixes for reported problems including a possible
null-deref on probe with keyspan, a misbehaving modem, and a couple of
issues with the USB console.

Some new device IDs are also added.

Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: dwc3: gadget: Stop TRB preparation after limit is reached</title>
<updated>2015-01-14T17:29:05+00:00</updated>
<author>
<name>Amit Virdi</name>
<email>amit.virdi@st.com</email>
</author>
<published>2015-01-13T08:57:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=39e60635a01520e8c8ed3946a28c2b98e6a46f79'/>
<id>39e60635a01520e8c8ed3946a28c2b98e6a46f79</id>
<content type='text'>
DWC3 gadget sets up a pool of 32 TRBs for each EP during initialization. This
means, the max TRBs that can be submitted for an EP is fixed to 32. Since the
request queue for an EP is a linked list, any number of requests can be queued
to it by the gadget layer.  However, the dwc3 driver must not submit TRBs more
than the pool it has created for. This limit wasn't respected when SG was used
resulting in submitting more than the max TRBs, eventually leading to
non-transfer of the TRBs submitted over the max limit.

Root cause:
When SG is used, there are two loops iterating to prepare TRBs:
 - Outer loop over the request_list
 - Inner loop over the SG list
The code was missing break to get out of the outer loop.

Fixes: eeb720fb21d6 (usb: dwc3: gadget: add support for SG lists)
Cc: &lt;stable@vger.kernel.org&gt; # v3.9+
Signed-off-by: Amit Virdi &lt;amit.virdi@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
DWC3 gadget sets up a pool of 32 TRBs for each EP during initialization. This
means, the max TRBs that can be submitted for an EP is fixed to 32. Since the
request queue for an EP is a linked list, any number of requests can be queued
to it by the gadget layer.  However, the dwc3 driver must not submit TRBs more
than the pool it has created for. This limit wasn't respected when SG was used
resulting in submitting more than the max TRBs, eventually leading to
non-transfer of the TRBs submitted over the max limit.

Root cause:
When SG is used, there are two loops iterating to prepare TRBs:
 - Outer loop over the request_list
 - Inner loop over the SG list
The code was missing break to get out of the outer loop.

Fixes: eeb720fb21d6 (usb: dwc3: gadget: add support for SG lists)
Cc: &lt;stable@vger.kernel.org&gt; # v3.9+
Signed-off-by: Amit Virdi &lt;amit.virdi@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: dwc3: gadget: Fix TRB preparation during SG</title>
<updated>2015-01-14T17:28:23+00:00</updated>
<author>
<name>Amit Virdi</name>
<email>amit.virdi@st.com</email>
</author>
<published>2015-01-13T08:57:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ec512fb8e5611fed1df2895f90317ce6797d6b32'/>
<id>ec512fb8e5611fed1df2895f90317ce6797d6b32</id>
<content type='text'>
When scatter gather (SG) is used, multiple TRBs are prepared from one DWC3
request (dwc3_request). So while preparing TRBs, the 'last' flag should be set
only when it is the last TRB being prepared from the last dwc3_request entry.

The current implementation uses list_is_last to check if the dwc3_request is the
last entry from the request_list. However, list_is_last returns false for the
last entry too. This is because, while preparing the first TRB from a request,
the function dwc3_prepare_one_trb modifies the request's next and prev pointers
while moving the URB to req_queued. Hence, list_is_last always returns false no
matter what.

The correct way is not to access the modified pointers of dwc3_request but to
use list_empty macro instead.

Fixes: e5ba5ec833aa (usb: dwc3: gadget: fix scatter gather implementation)
Signed-off-by: Amit Virdi &lt;amit.virdi@st.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.9+
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When scatter gather (SG) is used, multiple TRBs are prepared from one DWC3
request (dwc3_request). So while preparing TRBs, the 'last' flag should be set
only when it is the last TRB being prepared from the last dwc3_request entry.

The current implementation uses list_is_last to check if the dwc3_request is the
last entry from the request_list. However, list_is_last returns false for the
last entry too. This is because, while preparing the first TRB from a request,
the function dwc3_prepare_one_trb modifies the request's next and prev pointers
while moving the URB to req_queued. Hence, list_is_last always returns false no
matter what.

The correct way is not to access the modified pointers of dwc3_request but to
use list_empty macro instead.

Fixes: e5ba5ec833aa (usb: dwc3: gadget: fix scatter gather implementation)
Signed-off-by: Amit Virdi &lt;amit.virdi@st.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.9+
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: phy: mv-usb: fix usb_phy build errors</title>
<updated>2015-01-13T15:32:22+00:00</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2015-01-13T14:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=90bdf403db4ca75ee60ca5a760dc342cef96b5e1'/>
<id>90bdf403db4ca75ee60ca5a760dc342cef96b5e1</id>
<content type='text'>
The driver was recently adapted to a core API change, but the
change was incomplete, missing out the suspend helper and
leaving an extraneous local variable around:

usb/phy/phy-mv-usb.c: In function 'mv_otg_update_state':
usb/phy/phy-mv-usb.c:341:18: warning: unused variable 'phy' [-Wunused-variable]

usb/phy/phy-mv-usb.c: In function 'mv_otg_suspend':
usb/phy/phy-mv-usb.c:861:16: error: 'struct usb_phy' has no member named 'state'

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Fixes: e47d92545c297 ("usb: move the OTG state from the USB PHY to the OTG structure")
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The driver was recently adapted to a core API change, but the
change was incomplete, missing out the suspend helper and
leaving an extraneous local variable around:

usb/phy/phy-mv-usb.c: In function 'mv_otg_update_state':
usb/phy/phy-mv-usb.c:341:18: warning: unused variable 'phy' [-Wunused-variable]

usb/phy/phy-mv-usb.c: In function 'mv_otg_suspend':
usb/phy/phy-mv-usb.c:861:16: error: 'struct usb_phy' has no member named 'state'

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Fixes: e47d92545c297 ("usb: move the OTG state from the USB PHY to the OTG structure")
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'fixes-for-v3.19-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus</title>
<updated>2015-01-12T18:51:04+00:00</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@linuxfoundation.org</email>
</author>
<published>2015-01-12T18:51:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=06087cb42dc1da096c37f51ea12ad676f00569a9'/>
<id>06087cb42dc1da096c37f51ea12ad676f00569a9</id>
<content type='text'>
Felipe writes:

usb: fixes for v3.19-rc5

Just three fixes this time. An oops fix in ep_write() from gadgetfs,
another oops for the Atmel UDC when unloading a gadget driver and
the fix for PHY deferred probing.

Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;

Conflicts:
	drivers/usb/phy/phy.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Felipe writes:

usb: fixes for v3.19-rc5

Just three fixes this time. An oops fix in ep_write() from gadgetfs,
another oops for the Atmel UDC when unloading a gadget driver and
the fix for PHY deferred probing.

Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;

Conflicts:
	drivers/usb/phy/phy.c
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: serial: handle -ENODEV quietly in generic_submit_read_urb</title>
<updated>2015-01-12T09:23:54+00:00</updated>
<author>
<name>Jeremiah Mahler</name>
<email>jmmahler@gmail.com</email>
</author>
<published>2015-01-11T13:42:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=04f9c6e6d17584340fb6c8a9469a0e6df28876d2'/>
<id>04f9c6e6d17584340fb6c8a9469a0e6df28876d2</id>
<content type='text'>
If a USB serial device (e.g. /dev/ttyUSB0) with an active program is
unplugged, an -ENODEV (19) error will be produced after it gives up
trying to resubmit a read.

  usb_serial_generic_submit_read_urb - usb_submit_urb failed: -19

Add -ENODEV as one of the permanent errors along with -EPERM that
usb_serial_generic_submit_read_urb() handles quietly without an error.

Signed-off-by: Jeremiah Mahler &lt;jmmahler@gmail.com&gt;
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a USB serial device (e.g. /dev/ttyUSB0) with an active program is
unplugged, an -ENODEV (19) error will be produced after it gives up
trying to resubmit a read.

  usb_serial_generic_submit_read_urb - usb_submit_urb failed: -19

Add -ENODEV as one of the permanent errors along with -EPERM that
usb_serial_generic_submit_read_urb() handles quietly without an error.

Signed-off-by: Jeremiah Mahler &lt;jmmahler@gmail.com&gt;
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: serial: silence all non-critical read errors</title>
<updated>2015-01-12T09:23:35+00:00</updated>
<author>
<name>Jeremiah Mahler</name>
<email>jmmahler@gmail.com</email>
</author>
<published>2015-01-11T13:42:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=aa8e22128b40590b291cd13512098bf258a7e6c5'/>
<id>aa8e22128b40590b291cd13512098bf258a7e6c5</id>
<content type='text'>
If a USB serial device is unplugged while there is an active program
using the device it may spam the logs with -EPROTO (71) messages as it
attempts to retry.

Most serial usb drivers (metro-usb, pl2303, mos7840, ...) only output
these messages for debugging.  The generic driver treats these as
errors.

Change the default output for the generic serial driver from error to
debug to silence these non-critical errors.

Signed-off-by: Jeremiah Mahler &lt;jmmahler@gmail.com&gt;
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a USB serial device is unplugged while there is an active program
using the device it may spam the logs with -EPROTO (71) messages as it
attempts to retry.

Most serial usb drivers (metro-usb, pl2303, mos7840, ...) only output
these messages for debugging.  The generic driver treats these as
errors.

Change the default output for the generic serial driver from error to
debug to silence these non-critical errors.

Signed-off-by: Jeremiah Mahler &lt;jmmahler@gmail.com&gt;
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: console: fix potential use after free</title>
<updated>2015-01-10T11:48:21+00:00</updated>
<author>
<name>Johan Hovold</name>
<email>johan@kernel.org</email>
</author>
<published>2015-01-05T15:04:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=32a4bf2e81ec378e5925d4e069e0677a6c86a6ad'/>
<id>32a4bf2e81ec378e5925d4e069e0677a6c86a6ad</id>
<content type='text'>
Use tty kref to release the fake tty in usb_console_setup to avoid use
after free if the underlying serial driver has acquired a reference.

Note that using the tty destructor release_one_tty requires some more
state to be initialised.

Fixes: 4a90f09b20f4 ("tty: usb-serial krefs")
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use tty kref to release the fake tty in usb_console_setup to avoid use
after free if the underlying serial driver has acquired a reference.

Note that using the tty destructor release_one_tty requires some more
state to be initialised.

Fixes: 4a90f09b20f4 ("tty: usb-serial krefs")
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>USB: console: fix uninitialised ldisc semaphore</title>
<updated>2015-01-10T11:48:15+00:00</updated>
<author>
<name>Johan Hovold</name>
<email>johan@kernel.org</email>
</author>
<published>2015-01-05T15:04:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d269d4434c72ed0da3a9b1230c30da82c4918c63'/>
<id>d269d4434c72ed0da3a9b1230c30da82c4918c63</id>
<content type='text'>
The USB console currently allocates a temporary fake tty which is used
to pass terminal settings to the underlying serial driver.

The tty struct is not fully initialised, something which can lead to a
lockdep warning (or worse) if a serial driver tries to acquire a
line-discipline reference:

	usbserial: USB Serial support registered for pl2303
	pl2303 1-2.1:1.0: pl2303 converter detected
	usb 1-2.1: pl2303 converter now attached to ttyUSB0
	INFO: trying to register non-static key.
	the code is fine but needs lockdep annotation.
	turning off the locking correctness validator.
	CPU: 0 PID: 68 Comm: udevd Tainted: G        W      3.18.0-rc5 #10
	[&lt;c0016f04&gt;] (unwind_backtrace) from [&lt;c0013978&gt;] (show_stack+0x20/0x24)
	[&lt;c0013978&gt;] (show_stack) from [&lt;c0449794&gt;] (dump_stack+0x24/0x28)
	[&lt;c0449794&gt;] (dump_stack) from [&lt;c006f730&gt;] (__lock_acquire+0x1e50/0x2004)
	[&lt;c006f730&gt;] (__lock_acquire) from [&lt;c0070128&gt;] (lock_acquire+0xe4/0x18c)
	[&lt;c0070128&gt;] (lock_acquire) from [&lt;c027c6f8&gt;] (ldsem_down_read_trylock+0x78/0x90)
	[&lt;c027c6f8&gt;] (ldsem_down_read_trylock) from [&lt;c027a1cc&gt;] (tty_ldisc_ref+0x24/0x58)
	[&lt;c027a1cc&gt;] (tty_ldisc_ref) from [&lt;c0340760&gt;] (usb_serial_handle_dcd_change+0x48/0xe8)
	[&lt;c0340760&gt;] (usb_serial_handle_dcd_change) from [&lt;bf000484&gt;] (pl2303_read_int_callback+0x210/0x220 [pl2303])
	[&lt;bf000484&gt;] (pl2303_read_int_callback [pl2303]) from [&lt;c031624c&gt;] (__usb_hcd_giveback_urb+0x80/0x140)
	[&lt;c031624c&gt;] (__usb_hcd_giveback_urb) from [&lt;c0316fc0&gt;] (usb_giveback_urb_bh+0x98/0xd4)
	[&lt;c0316fc0&gt;] (usb_giveback_urb_bh) from [&lt;c0042e44&gt;] (tasklet_hi_action+0x9c/0x108)
	[&lt;c0042e44&gt;] (tasklet_hi_action) from [&lt;c0042380&gt;] (__do_softirq+0x148/0x42c)
	[&lt;c0042380&gt;] (__do_softirq) from [&lt;c00429cc&gt;] (irq_exit+0xd8/0x114)
	[&lt;c00429cc&gt;] (irq_exit) from [&lt;c007ae58&gt;] (__handle_domain_irq+0x84/0xdc)
	[&lt;c007ae58&gt;] (__handle_domain_irq) from [&lt;c000879c&gt;] (omap_intc_handle_irq+0xd8/0xe0)
	[&lt;c000879c&gt;] (omap_intc_handle_irq) from [&lt;c0014544&gt;] (__irq_svc+0x44/0x7c)
	Exception stack(0xdf4e7f08 to 0xdf4e7f50)
	7f00:                   debc0b80 df4e7f5c 00000000 00000000 debc0b80 be8da96c
	7f20: 00000000 00000128 c000fc84 df4e6000 00000000 df4e7f94 00000004 df4e7f50
	7f40: c038ebc0 c038d74c 600f0013 ffffffff
	[&lt;c0014544&gt;] (__irq_svc) from [&lt;c038d74c&gt;] (___sys_sendmsg.part.29+0x0/0x2e0)
	[&lt;c038d74c&gt;] (___sys_sendmsg.part.29) from [&lt;c038ec08&gt;] (SyS_sendmsg+0x18/0x1c)
	[&lt;c038ec08&gt;] (SyS_sendmsg) from [&lt;c000fa00&gt;] (ret_fast_syscall+0x0/0x48)
	console [ttyUSB0] enabled

Fixes: 36697529b5bb ("tty: Replace ldisc locking with ldisc_sem")
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The USB console currently allocates a temporary fake tty which is used
to pass terminal settings to the underlying serial driver.

The tty struct is not fully initialised, something which can lead to a
lockdep warning (or worse) if a serial driver tries to acquire a
line-discipline reference:

	usbserial: USB Serial support registered for pl2303
	pl2303 1-2.1:1.0: pl2303 converter detected
	usb 1-2.1: pl2303 converter now attached to ttyUSB0
	INFO: trying to register non-static key.
	the code is fine but needs lockdep annotation.
	turning off the locking correctness validator.
	CPU: 0 PID: 68 Comm: udevd Tainted: G        W      3.18.0-rc5 #10
	[&lt;c0016f04&gt;] (unwind_backtrace) from [&lt;c0013978&gt;] (show_stack+0x20/0x24)
	[&lt;c0013978&gt;] (show_stack) from [&lt;c0449794&gt;] (dump_stack+0x24/0x28)
	[&lt;c0449794&gt;] (dump_stack) from [&lt;c006f730&gt;] (__lock_acquire+0x1e50/0x2004)
	[&lt;c006f730&gt;] (__lock_acquire) from [&lt;c0070128&gt;] (lock_acquire+0xe4/0x18c)
	[&lt;c0070128&gt;] (lock_acquire) from [&lt;c027c6f8&gt;] (ldsem_down_read_trylock+0x78/0x90)
	[&lt;c027c6f8&gt;] (ldsem_down_read_trylock) from [&lt;c027a1cc&gt;] (tty_ldisc_ref+0x24/0x58)
	[&lt;c027a1cc&gt;] (tty_ldisc_ref) from [&lt;c0340760&gt;] (usb_serial_handle_dcd_change+0x48/0xe8)
	[&lt;c0340760&gt;] (usb_serial_handle_dcd_change) from [&lt;bf000484&gt;] (pl2303_read_int_callback+0x210/0x220 [pl2303])
	[&lt;bf000484&gt;] (pl2303_read_int_callback [pl2303]) from [&lt;c031624c&gt;] (__usb_hcd_giveback_urb+0x80/0x140)
	[&lt;c031624c&gt;] (__usb_hcd_giveback_urb) from [&lt;c0316fc0&gt;] (usb_giveback_urb_bh+0x98/0xd4)
	[&lt;c0316fc0&gt;] (usb_giveback_urb_bh) from [&lt;c0042e44&gt;] (tasklet_hi_action+0x9c/0x108)
	[&lt;c0042e44&gt;] (tasklet_hi_action) from [&lt;c0042380&gt;] (__do_softirq+0x148/0x42c)
	[&lt;c0042380&gt;] (__do_softirq) from [&lt;c00429cc&gt;] (irq_exit+0xd8/0x114)
	[&lt;c00429cc&gt;] (irq_exit) from [&lt;c007ae58&gt;] (__handle_domain_irq+0x84/0xdc)
	[&lt;c007ae58&gt;] (__handle_domain_irq) from [&lt;c000879c&gt;] (omap_intc_handle_irq+0xd8/0xe0)
	[&lt;c000879c&gt;] (omap_intc_handle_irq) from [&lt;c0014544&gt;] (__irq_svc+0x44/0x7c)
	Exception stack(0xdf4e7f08 to 0xdf4e7f50)
	7f00:                   debc0b80 df4e7f5c 00000000 00000000 debc0b80 be8da96c
	7f20: 00000000 00000128 c000fc84 df4e6000 00000000 df4e7f94 00000004 df4e7f50
	7f40: c038ebc0 c038d74c 600f0013 ffffffff
	[&lt;c0014544&gt;] (__irq_svc) from [&lt;c038d74c&gt;] (___sys_sendmsg.part.29+0x0/0x2e0)
	[&lt;c038d74c&gt;] (___sys_sendmsg.part.29) from [&lt;c038ec08&gt;] (SyS_sendmsg+0x18/0x1c)
	[&lt;c038ec08&gt;] (SyS_sendmsg) from [&lt;c000fa00&gt;] (ret_fast_syscall+0x0/0x48)
	console [ttyUSB0] enabled

Fixes: 36697529b5bb ("tty: Replace ldisc locking with ldisc_sem")
Cc: stable &lt;stable@vger.kernel.org&gt;
Signed-off-by: Johan Hovold &lt;johan@kernel.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
