From mboxrd@z Thu Jan 1 00:00:00 1970 From: vinod.koul@intel.com (Vinod Koul) Date: Mon, 30 Mar 2015 22:55:46 +0530 Subject: [PATCH] dmaengine: pl330: fix the race condition in pl330 driver. In-Reply-To: References: <1427414105-3480-1-git-send-email-sbranden@broadcom.com> Message-ID: <20150330172546.GI7192@intel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Mon, Mar 30, 2015 at 10:17:17PM +0530, Jassi Brar wrote: > On Fri, Mar 27, 2015 at 5:25 AM, Scott Branden wrote: > > From: ismail > > > > Update the thread running index before issuing the > > GO command to the DMAC. > > > > Tested-by: Mohamed Ismail Abdul Packir Mohamed > > Reviewed-by: Ray Jui > > Reviewed-by: Arun Parameswaran > > Reviewed-by: Scott Branden > > Signed-off-by: Scott Branden > > Signed-off-by: Mohamed Ismail Abdul Packir Mohamed > > --- > > drivers/dma/pl330.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c > > index 0e1f567..631642d 100644 > > --- a/drivers/dma/pl330.c > > +++ b/drivers/dma/pl330.c > > @@ -1072,11 +1072,11 @@ static bool _trigger(struct pl330_thread *thrd) > > /* Set to generate interrupts for SEV */ > > writel(readl(regs + INTEN) | (1 << thrd->ev), regs + INTEN); > > > > + thrd->req_running = idx; > > + > > /* Only manager can execute GO */ > > _execute_DBGINSN(thrd, insn, true); > > > > - thrd->req_running = idx; > > - > It would help to know what the behavior looks like before and after > the patch. If anything we should look at locking rather the > reordering. Yes that ia fair request, looking at changelog it is hard to understand the issue seen? -- ~Vinod From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753370AbbC3RaK (ORCPT ); Mon, 30 Mar 2015 13:30:10 -0400 Received: from mga09.intel.com ([134.134.136.24]:32493 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752752AbbC3RaG (ORCPT ); Mon, 30 Mar 2015 13:30:06 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,494,1422950400"; d="scan'208";a="474522065" Date: Mon, 30 Mar 2015 22:55:46 +0530 From: Vinod Koul To: Jassi Brar Cc: Scott Branden , Dan Williams , Linux Kernel Mailing List , ismail , Anatol Pomazao , Dmitry Torokhov , bcm-kernel-feedback-list@broadcom.com, "linux-arm-kernel@lists.infradead.org" Subject: Re: [PATCH] dmaengine: pl330: fix the race condition in pl330 driver. Message-ID: <20150330172546.GI7192@intel.com> References: <1427414105-3480-1-git-send-email-sbranden@broadcom.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 30, 2015 at 10:17:17PM +0530, Jassi Brar wrote: > On Fri, Mar 27, 2015 at 5:25 AM, Scott Branden wrote: > > From: ismail > > > > Update the thread running index before issuing the > > GO command to the DMAC. > > > > Tested-by: Mohamed Ismail Abdul Packir Mohamed > > Reviewed-by: Ray Jui > > Reviewed-by: Arun Parameswaran > > Reviewed-by: Scott Branden > > Signed-off-by: Scott Branden > > Signed-off-by: Mohamed Ismail Abdul Packir Mohamed > > --- > > drivers/dma/pl330.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c > > index 0e1f567..631642d 100644 > > --- a/drivers/dma/pl330.c > > +++ b/drivers/dma/pl330.c > > @@ -1072,11 +1072,11 @@ static bool _trigger(struct pl330_thread *thrd) > > /* Set to generate interrupts for SEV */ > > writel(readl(regs + INTEN) | (1 << thrd->ev), regs + INTEN); > > > > + thrd->req_running = idx; > > + > > /* Only manager can execute GO */ > > _execute_DBGINSN(thrd, insn, true); > > > > - thrd->req_running = idx; > > - > It would help to know what the behavior looks like before and after > the patch. If anything we should look at locking rather the > reordering. Yes that ia fair request, looking at changelog it is hard to understand the issue seen? -- ~Vinod