From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eu-smtp-delivery-143.mimecast.com ([207.82.80.143]:9847 "EHLO eu-smtp-delivery-143.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753006AbbGXQqZ convert rfc822-to-8bit (ORCPT ); Fri, 24 Jul 2015 12:46:25 -0400 Date: Fri, 24 Jul 2015 17:46:21 +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: <20150724164619.GK10670@e103592.cambridge.arm.com> References: <1436439433-10258-1-git-send-email-Dave.Martin@arm.com> <20150723220550.GA15032@kroah.com> <20150724095605.GI10670@e103592.cambridge.arm.com> <20150724151559.GA12324@kroah.com> MIME-Version: 1.0 In-Reply-To: <20150724151559.GA12324@kroah.com> Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: 8BIT Content-Disposition: inline Sender: stable-owner@vger.kernel.org List-ID: On Fri, Jul 24, 2015 at 08:15:59AM -0700, Greg Kroah-Hartman wrote: > On Fri, Jul 24, 2015 at 10:56:06AM +0100, Dave Martin wrote: > > 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. > > I can't do anything with a 4.1-only patch, please read > Documentation/stable_kernel_rules.txt for how to get a patch into the > stable kernel releases. OK, reposted[1] with a clear reference to the equivalent upstream commit, and explanation of why this patch is different, which I'm guessing is what was missing. Is that sufficient? Cheers ---Dave [1] http://marc.info/?l=linux-serial&m=143775597205041&w=2 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave.Martin@arm.com (Dave Martin) Date: Fri, 24 Jul 2015 17:46:21 +0100 Subject: [PATCH] serial/amba-pl011: Disable interrupts around TX softirq In-Reply-To: <20150724151559.GA12324@kroah.com> References: <1436439433-10258-1-git-send-email-Dave.Martin@arm.com> <20150723220550.GA15032@kroah.com> <20150724095605.GI10670@e103592.cambridge.arm.com> <20150724151559.GA12324@kroah.com> Message-ID: <20150724164619.GK10670@e103592.cambridge.arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, Jul 24, 2015 at 08:15:59AM -0700, Greg Kroah-Hartman wrote: > On Fri, Jul 24, 2015 at 10:56:06AM +0100, Dave Martin wrote: > > 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. > > I can't do anything with a 4.1-only patch, please read > Documentation/stable_kernel_rules.txt for how to get a patch into the > stable kernel releases. OK, reposted[1] with a clear reference to the equivalent upstream commit, and explanation of why this patch is different, which I'm guessing is what was missing. Is that sufficient? Cheers ---Dave [1] http://marc.info/?l=linux-serial&m=143775597205041&w=2