Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp6784115ybi; Mon, 8 Jul 2019 08:37:09 -0700 (PDT) X-Google-Smtp-Source: APXvYqxV2a3pNMjMUGhev61IHviCnRfogRGRNdJVvP1nDfRD9OZjNMxu8UmPnDA2U2Yo69LAK9K4 X-Received: by 2002:a63:3c5:: with SMTP id 188mr24306100pgd.394.1562600229489; Mon, 08 Jul 2019 08:37:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562600229; cv=none; d=google.com; s=arc-20160816; b=CPGFGTEpzIyNpe48z1+jLqOzpflqhvr1M56/Adt0V0Qu2R9P9IYSd/DswgtU+RFO6Q +0AdxSKUvE/lATQAqYhNxDYbCSCNvXioNZvc23kOP6C9XkH92P5bYS6aRPB6F45HGVBy nfF+ttwjk/nHjsw2j9y5GyuNTFDg5p26mCSw7yonGTbSYBPN5VvxR+M39CFEfVJvp4a6 Xc/zjUPrqX0qfCf5IUiSDSGVgnVoA6KewBu4JSb1/W53xcnOUMa54lMQaH3LOE4ZNoJO 1OIYKRyctInISKWSpKeZcyWZs+G0iLXK7M13ZDrGC5vpv1YEEOscHW5gYoJqKwFTxyFH DDlA== 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=VWFETWnJ9vnwXo2Mr3XPA3YoTqDEIftSf+TI5Gy0hdQ=; b=fpvoTXn/FDDeFFsBR72VLVVyL2jD6xWkJqbPEGMX1IsiYY/7k8eY9eP580GinOUoqB bjIhyH6WV1fkTRgYSHBa68S55ozCEJbAtnlYygss4kLu06iuGSpcrgJ8E0dHyUHnJOKa uhvXrd4xKFcR+ZOAvYMWYbrIr4rOToo2zvCeVC1Vhihpl0q5m+H2QHUKU1lXNkqcRnL4 D4YltEe1ajLPt65TVeDVHcY3A4vku8b310QrrViR0wQW+PZ7pSzIpZWJrH98+XSpCe3R dkO0nMXoTKNE4ULUmMpiN1zrNk8PsonRmzzK2AtGW6ObMxl87w7JLjVKgwc4F2fTRYfS vEpg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=UjdMmEvc; 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 t4si18472503plq.93.2019.07.08.08.36.54; Mon, 08 Jul 2019 08:37:09 -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=UjdMmEvc; 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 S2388133AbfGHPXI (ORCPT + 99 others); Mon, 8 Jul 2019 11:23:08 -0400 Received: from mail.kernel.org ([198.145.29.99]:49938 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388116AbfGHPXF (ORCPT ); Mon, 8 Jul 2019 11:23:05 -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 43BE12166E; Mon, 8 Jul 2019 15:23:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1562599384; bh=7i5TIOHDCJrnRJK3is1Oicb1skMDjv9yLBrDM4cBtmo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UjdMmEvckIPWquGud1AJPqL/YZL9yrbkH7COrRZLXezIHPOBLMNFljxNweR2NkqfC k8wyLZmomjqLuoSa4E3NZWyw1y7WdQv4wNlMGZF5CqlSbFiY3iTTZdvKVja1Cp2mAi 9njb1w8KaUSl+qoMacabYbs0CeOkI0vdwjVNsGhE= 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.9 101/102] dmaengine: imx-sdma: remove BD_INTR for channel0 Date: Mon, 8 Jul 2019 17:13:34 +0200 Message-Id: <20190708150531.704945047@linuxfoundation.org> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190708150525.973820964@linuxfoundation.org> References: <20190708150525.973820964@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 @@ -632,7 +632,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; @@ -909,7 +909,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;