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

Dave P Martin Dave.Martin at arm.com
Tue Jun 23 04:13:10 PDT 2015


On Sat, Jun 20, 2015 at 10:09:37AM +0100, Stefan Wahren wrote:
> 
> > 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>

Thanks for the confirmation.

Cheers
---Dave




More information about the linux-arm-kernel mailing list