From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753111AbbCZXzb (ORCPT ); Thu, 26 Mar 2015 19:55:31 -0400 Received: from mail-gw1-out.broadcom.com ([216.31.210.62]:30236 "EHLO mail-gw1-out.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752821AbbCZXz2 (ORCPT ); Thu, 26 Mar 2015 19:55:28 -0400 X-IronPort-AV: E=Sophos;i="5.11,476,1422950400"; d="scan'208";a="60708307" From: Scott Branden To: Dan Williams , Vinod Koul CC: , Dmitry Torokhov , Anatol Pomazao , , , ismail , Scott Branden Subject: [PATCH] dmaengine: pl330: fix the race condition in pl330 driver. Date: Thu, 26 Mar 2015 16:55:05 -0700 Message-ID: <1427414105-3480-1-git-send-email-sbranden@broadcom.com> X-Mailer: git-send-email 2.3.3 MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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; - return true; } -- 2.3.3 From mboxrd@z Thu Jan 1 00:00:00 1970 From: sbranden@broadcom.com (Scott Branden) Date: Thu, 26 Mar 2015 16:55:05 -0700 Subject: [PATCH] dmaengine: pl330: fix the race condition in pl330 driver. Message-ID: <1427414105-3480-1-git-send-email-sbranden@broadcom.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 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; - return true; } -- 2.3.3