Thread (3 messages) 3 messages, 2 authors, 2015-06-23

[PATCH] serial/amba-pl011: Disable interrupts around TX softirq

From: Dave.Martin@arm.com (Dave P Martin)
Date: 2015-06-23 11:13:14
Also in: linux-serial, stable

On Sat, Jun 20, 2015 at 10:09:37AM +0100, Stefan Wahren wrote:
quoted
Dave Martin [off-list ref] hat am 18. Juni 2015 um 15:54 geschrieben:


pl011_tx_softirq() currently uses spin_{,un}lock(), which are not
sufficient to inhibit pl011_int() from being triggered by a local
IRQ and trying to re-take the same lock. This can lead to
deadlocks.

This patch uses the _irq() locking variants instead to ensure that
pl011_int() handling for a given port is deferred until any
pl011_tx_softirq() work for that port is complete.

Fixes: 734745caeb9f serial/amba-pl011: Activate TX IRQ passively
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Tested-by: Robin Murphy <robin.murphy@arm.com>
Cc: stable <redacted> # 4.1
I also get info messages about inconsistent lock state on my mx28 board,
after applying the patch the messages disappeared.

Tested-by: Stefan Wahren <redacted>
Thanks for the confirmation.

Cheers
---Dave
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help