From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eu-smtp-delivery-143.mimecast.com ([146.101.78.143]:63027 "EHLO eu-smtp-delivery-143.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753504AbbGXJ4J convert rfc822-to-8bit (ORCPT ); Fri, 24 Jul 2015 05:56:09 -0400 Date: Fri, 24 Jul 2015 10:56:06 +0100 From: Dave Martin To: Greg Kroah-Hartman Cc: Russell King , Jakub =?utf-8?B?S2ljacWEc2tp?= , Andre Przywara , Andrew Jackson , "stable@vger.kernel.org" , Graeme Gregory , "linux-serial@vger.kernel.org" , popcorn mix , Jorge Ramirez-Ortiz , Robin Murphy , "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH] serial/amba-pl011: Disable interrupts around TX softirq Message-ID: <20150724095605.GI10670@e103592.cambridge.arm.com> References: <1436439433-10258-1-git-send-email-Dave.Martin@arm.com> <20150723220550.GA15032@kroah.com> MIME-Version: 1.0 In-Reply-To: <20150723220550.GA15032@kroah.com> Content-Language: en-US Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: 8BIT Content-Disposition: inline Sender: stable-owner@vger.kernel.org List-ID: On Thu, Jul 23, 2015 at 03:05:50PM -0700, Greg Kroah-Hartman wrote: > On Thu, Jul 09, 2015 at 11:57:12AM +0100, Dave Martin wrote: > > 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 > > Tested-by: Robin Murphy > > Tested-by: Stefan Wahren > > Cc: stable # 4.1 > > --- > > drivers/tty/serial/amba-pl011.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > This doesn't apply at all to 4.2-rc3, so I can't apply it :( This is applicable to 4.1 stable only, since the code this patch fixes was replaced in 4.2-rc1. Apologies, I didn't make that clear in the text. Cheers ---Dave From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave.Martin@arm.com (Dave Martin) Date: Fri, 24 Jul 2015 10:56:06 +0100 Subject: [PATCH] serial/amba-pl011: Disable interrupts around TX softirq In-Reply-To: <20150723220550.GA15032@kroah.com> References: <1436439433-10258-1-git-send-email-Dave.Martin@arm.com> <20150723220550.GA15032@kroah.com> Message-ID: <20150724095605.GI10670@e103592.cambridge.arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Jul 23, 2015 at 03:05:50PM -0700, Greg Kroah-Hartman wrote: > On Thu, Jul 09, 2015 at 11:57:12AM +0100, Dave Martin wrote: > > 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 > > Tested-by: Robin Murphy > > Tested-by: Stefan Wahren > > Cc: stable # 4.1 > > --- > > drivers/tty/serial/amba-pl011.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > This doesn't apply at all to 4.2-rc3, so I can't apply it :( This is applicable to 4.1 stable only, since the code this patch fixes was replaced in 4.2-rc1. Apologies, I didn't make that clear in the text. Cheers ---Dave