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

Stefan Wahren stefan.wahren at i2se.com
Sat Jun 20 02:09:37 PDT 2015


> Dave Martin <Dave.Martin at arm.com> 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 at arm.com>
> Tested-by: Robin Murphy <robin.murphy at arm.com>
> Cc: stable <stable at vger.kernel.org> # 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 <stefan.wahren at i2se.com>

Regards
Stefan



More information about the linux-arm-kernel mailing list