From patchwork Sat Aug 20 12:57:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tudor Ambarus X-Patchwork-Id: 12949691 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E0223C25B08 for ; Sat, 20 Aug 2022 13:08:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=B6Al/U5S4ppQncPN8v+Cz2Q06cV++Kt9YOUsl8kmYY8=; b=Jgt+Dh3SG81Bik v2LXuuiAxF4HZw22Y214g6rcl+WQe9IdE/saPVKZKNWN+5tiVnbUcgmIUXQwV3iWXRvKUUqglBdi0 q1O9bT31pnQTZyo/qvAi4L6OqQPGOTJxeTI/WQHHFm8VxUduwDaxfWo9UMSN8WpvjL5asqXWkJzMb ttakaTs3rKg99HZ6gERcvPiDdhBDzGgWoP/RyaXSaco9fKkJh0HDxuCiVGTbUcArrvmblrFIMQr9S 8EIJ4F20E37cVPTVgixuO/YpCS+q8gTmkx9h+W9HDN8aKUXliCbYoko2Psi/R45SqQQjxdoMmphji nGcJZXFFIc8/+ZunAEoA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oPOBw-00AHEt-4E; Sat, 20 Aug 2022 13:07:08 +0000 Received: from esa.microchip.iphmx.com ([68.232.153.233]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oPO3c-00AClZ-NQ for linux-arm-kernel@lists.infradead.org; Sat, 20 Aug 2022 12:58:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1661000313; x=1692536313; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=CsIGeoVKwQn0byz2dnPhGjooS8B42B8WTMB5lbZlMOw=; b=szd1yQ3XL5KfHaeKGnHqBUcCeve728FYt150QNKFmGl1or0EVh4v4KDm 4PfDSukDuqKtg+UHKfVpRYzqIenMK05t5EFp7yr9vmgNWrLK9ER1XNFZ4 NqX46wzWVJD9Rr5o5FRYPpl47S/RR3/GvnVgi0X4cUDNrFkSvykjvU+Fg npIm49Y6YpNft1zPF2n/YQ/AYXl4VV6i5Z+8+WkQ6jf0ZiFOADBmYqn14 yCy07KdGHm3SECbxO2YTRuHy5kz0t/3QiJ7XcrFX4UkbKaGrQjXFDUzPN ewbWCi81flAESb3O5k7Z2HR1RGdOUpLhdTKV5nH4PcGdPJLN82wartA+X g==; X-IronPort-AV: E=Sophos;i="5.93,251,1654585200"; d="scan'208";a="177042815" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa5.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 20 Aug 2022 05:58:27 -0700 Received: from chn-vm-ex02.mchp-main.com (10.10.85.144) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12; Sat, 20 Aug 2022 05:58:25 -0700 Received: from ROB-ULT-M18064N.mchp-main.com (10.10.115.15) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server id 15.1.2507.12 via Frontend Transport; Sat, 20 Aug 2022 05:58:22 -0700 From: Tudor Ambarus To: , , , Subject: [PATCH 18/33] dmaengine: at_hdmac: Fix completion of unissued descriptor in case of errors Date: Sat, 20 Aug 2022 15:57:02 +0300 Message-ID: <20220820125717.588722-19-tudor.ambarus@microchip.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220820125717.588722-1-tudor.ambarus@microchip.com> References: <20220820125717.588722-1-tudor.ambarus@microchip.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220820_055832_926644_4B38C82F X-CRM114-Status: GOOD ( 10.51 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: tudor.ambarus@microchip.com, linux-kernel@vger.kernel.org, maciej.sosnowski@intel.com, mripard@kernel.org, torfl6749@gmail.com, ludovic.desroches@microchip.com, stable@vger.kernel.org, dmaengine@vger.kernel.org, dan.j.williams@intel.com, linux-arm-kernel@lists.infradead.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org In case the controller detected an error, the code took the chance to move all the queued (submitted) descriptors to the active (issued) list. This was wrong as if there were any descriptors in the submitted list they were moved to the issued list without actually issuing them to the controller, thus a completion could be raised without even fireing the descriptor. Fixes: dc78baa2b90b ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller") Reported-by: Peter Rosin Cc: stable@vger.kernel.org Signed-off-by: Tudor Ambarus Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/ --- drivers/dma/at_hdmac.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index e5ac73768d13..825a29ede35e 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -974,10 +974,6 @@ static void atc_handle_error(struct at_dma_chan *atchan) bad_desc = atc_first_active(atchan); list_del_init(&bad_desc->desc_node); - /* As we are stopped, take advantage to push queued descriptors - * in active_list */ - list_splice_init(&atchan->queue, atchan->active_list.prev); - /* Try to restart the controller */ if (!list_empty(&atchan->active_list)) { desc = atc_first_queued(atchan);