Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp7146164ybi; Mon, 8 Jul 2019 15:33:54 -0700 (PDT) X-Google-Smtp-Source: APXvYqwEzgLTA+k1pDS4OE+l/ZTm07prtJfPX4ANS8NtLLVXJ/arMJRUIHJ8mziuEmTjR/VA4oHc X-Received: by 2002:a17:90a:bf08:: with SMTP id c8mr28492743pjs.75.1562625234427; Mon, 08 Jul 2019 15:33:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562625234; cv=none; d=google.com; s=arc-20160816; b=AJc/bVkHjIApTr8p7X0LGqIXtLENeXLMU0mUdjttFST1nlBWBfBkZXviKO+xoBmaDN YLEBOZchLnzonp+lpcF4WJsE2ZpCdAbpDUCQN0awBfFI+LiciZoy9AqxDXn3bxrkG4ZE gObT+h0ZqIMXbVNQFjFHE83rbRdy8NOhBZ2uIY437ZLhLAbxtWWvlqKwPZVDfMLCjTny XYxwZimU6aq3HlJDBuELwIPVS1T8qEfgbXpbVMx/GTDSVkWBMCy0rIg+rXax78DBHrJH vZIzNHD0zdvng2uFKKSzGRpIldXeRa59PYLmkUm08x4wsokiqR8tFLuGkwKrMb1jVFsz egBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=w9DBjgR/2ej0aB71eUiStjLuJoTyWwYTSb0CLZ1IpLs=; b=eFcYqdZ9gEiSzIgfLDFKOLu9/khAWYB4Zt3IrSScVX45Hew526fkJLPW5dCXQopcx0 Hg3rLmQU9RihHhsD3Yrm4YiSRD7BasmpIhxsLmVczGoAIjVHd0EkrIx5t1k+1BwZ6N6u om3BkrM3cm8BCLF3F1Irl0Wj0vFP9epAeVfaTplPDoNmL02hz7+vN/mATpzKW+D23wi7 m4y8WYHgAbPukPeU7VqpAj4tmC3HalXanBgZLDG0ZmaYKFQxf83TawUeD65vDQR0SwLD MiosmwQ2TBCNrk+0CJPJ/OKDLL4LoJzoSUP3qmDMsjbQeJr+0aJR2i5/5B0UnhX+C7ML KGGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=0S4oy47+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 6si20236836pgb.201.2019.07.08.15.33.39; Mon, 08 Jul 2019 15:33:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=0S4oy47+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733046AbfGHPSb (ORCPT + 99 others); Mon, 8 Jul 2019 11:18:31 -0400 Received: from mail.kernel.org ([198.145.29.99]:42250 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1733027AbfGHPS1 (ORCPT ); Mon, 8 Jul 2019 11:18:27 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 56F5C216C4; Mon, 8 Jul 2019 15:18:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562599106; bh=ChJGXPZW5+ab7V9V6J/vKor5vqH2dXwhMNFmBatqo+k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=0S4oy47+JssXQ6i0tuXFgizJVDFbhGOauRpfk2g4jtpeiZWJTdI+pOJ3Hf5lSwDL5 QgLxGqmDk7Rc1eFH1rBNQ3vuWPEWLZ8uIntPC7sv2p5BUZKDsjYKBsNkchRM69CrW3 ZvPFV+VXXd/fX0ln2tir3f+RCIe3yD3y/IsIiC24= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Robin Gong , Sven Van Asbroeck , Michael Olbrich , Vinod Koul Subject: [PATCH 4.4 73/73] dmaengine: imx-sdma: remove BD_INTR for channel0 Date: Mon, 8 Jul 2019 17:13:23 +0200 Message-Id: <20190708150525.081783641@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190708150513.136580595@linuxfoundation.org> References: <20190708150513.136580595@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Robin Gong commit 3f93a4f297961c12bb17aa16cb3a4d1291823cae upstream. It is possible for an irq triggered by channel0 to be received later after clks are disabled once firmware loaded during sdma probe. If that happens then clearing them by writing to SDMA_H_INTR won't work and the kernel will hang processing infinite interrupts. Actually, don't need interrupt triggered on channel0 since it's pollling SDMA_H_STATSTOP to know channel0 done rather than interrupt in current code, just clear BD_INTR to disable channel0 interrupt to avoid the above case. This issue was brought by commit 1d069bfa3c78 ("dmaengine: imx-sdma: ack channel 0 IRQ in the interrupt handler") which didn't take care the above case. Fixes: 1d069bfa3c78 ("dmaengine: imx-sdma: ack channel 0 IRQ in the interrupt handler") Cc: stable@vger.kernel.org #5.0+ Signed-off-by: Robin Gong Reported-by: Sven Van Asbroeck Tested-by: Sven Van Asbroeck Reviewed-by: Michael Olbrich Signed-off-by: Vinod Koul Signed-off-by: Greg Kroah-Hartman --- drivers/dma/imx-sdma.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -614,7 +614,7 @@ static int sdma_load_script(struct sdma_ spin_lock_irqsave(&sdma->channel_0_lock, flags); bd0->mode.command = C0_SETPM; - bd0->mode.status = BD_DONE | BD_INTR | BD_WRAP | BD_EXTD; + bd0->mode.status = BD_DONE | BD_WRAP | BD_EXTD; bd0->mode.count = size / 2; bd0->buffer_addr = buf_phys; bd0->ext_buffer_addr = address; @@ -883,7 +883,7 @@ static int sdma_load_context(struct sdma context->gReg[7] = sdmac->watermark_level; bd0->mode.command = C0_SETDM; - bd0->mode.status = BD_DONE | BD_INTR | BD_WRAP | BD_EXTD; + bd0->mode.status = BD_DONE | BD_WRAP | BD_EXTD; bd0->mode.count = sizeof(*context) / 4; bd0->buffer_addr = sdma->context_phys; bd0->ext_buffer_addr = 2048 + (sizeof(*context) / 4) * channel;