Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp8082785rwi; Tue, 25 Oct 2022 02:09:26 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7Wf03gpMaNeYSvoh5GKR49XmkhLNMO8fUgieF1/lqe9dX2qDL3Rl4FuVTbmgA3PrTjffpD X-Received: by 2002:a17:907:86a2:b0:791:910e:cce4 with SMTP id qa34-20020a17090786a200b00791910ecce4mr32046548ejc.36.1666688955747; Tue, 25 Oct 2022 02:09:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666688955; cv=none; d=google.com; s=arc-20160816; b=pgW6R2U9MYl5Ec6YT2oPYSQPZX4unWfnjYxfWCgh4LyWrQVOehntE3BDzC1m08Vhk6 rvyvRR5021at0bjyk/3R/2p2VbnKk7cifVn3mXPrWnc74Gr2H1qxR4Trjd/opkQ1nuoW KCc/lB6H7286kYD9RWpXTRcLmRwAakGgrVch4mfd85tBDdDLESC6zDEO7Hpz42eKKk2v G9KBQN1A6LvqwRugscjsqqmxoh9RQg5xFLjflyXp0H59FInpQm3RuHDizpeAgD/9YySa irDPe0r/iNPFBx2OTG+zbboAzCsKOEEE+wHPcOfzcx7dU0iQXtJ6POGU4hhh1+X6PM7e 4WCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=kVs66cdoWhRNfuZeuzPv1sO1ACorHKCHDujkBTcIWj0=; b=sfytaUg6xhpF7KWoD8OioRIOq6kmfZb+qCe7f9TIQYhRk0wdRlMekGwMG7ZCH5ZJkz gWI605AVaOD98Y8ff2uwBkJXTouGBqFgpqTodjRHyxzlGkm3NAitEG0QVpP+izEd47wO tZm8sX01qOXIwRszUlkHLG18/4HUpme4ZiO9rKe+zc6ElgIxWShvRbcc2UELKoCCvSdR ejaRuDGAkYKe1XfaGna0JVmxU/jzY/g5x4anvH0qtQctNodUtYmEmwMuW0H6FWtZBXNB elSKNmEvIJr6to3RKN4/pusSvqB68q4Bl57NMZBzhwwdyTfyqV8LPgWlZys4Hc186/Vf 0YeA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=lVnDgiMo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l15-20020a170906794f00b00791a67e4c00si2603954ejo.835.2022.10.25.02.08.49; Tue, 25 Oct 2022 02:09:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@microchip.com header.s=mchp header.b=lVnDgiMo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231950AbiJYJGS (ORCPT + 99 others); Tue, 25 Oct 2022 05:06:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57554 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232108AbiJYJE6 (ORCPT ); Tue, 25 Oct 2022 05:04:58 -0400 Received: from esa.microchip.iphmx.com (esa.microchip.iphmx.com [68.232.153.233]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ACBDB15F315; Tue, 25 Oct 2022 02:03:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1666688637; x=1698224637; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Qz8MEHbJ7dzekEbzSJTlLesa8+e8/ZbHmVvfnwNFJcg=; b=lVnDgiMoslR2cBfqcB1lx3mlFwK1D0jXhlGddLnGa+W/G/9B2PIqHvWS r2A5G5N5G38WAlTc1ykgr0UwRp/K5jPRDKdzqtdFcrZqbT7V6FiFV67TA YmKQrFKXpadGiAKLImqfoWoe5QCnxdlb6yAQYvxEwp5W3HLtwe2LOA2cA hiwUKnLUY6WJGXDzM2ilniSU05c5B0ERxV8cGJlySrD5Vcof8xLKsl5xl 2ur671MtXAou1UOXBB/CcwLpEWe3adH/llI0WUcggiDVd6FdQL8VOIEmW xtRrGmXyoub3yJsthX2aOGrlTy6CiXN6OuI09I5aGMmz2gkSLR/UI/hEB A==; X-IronPort-AV: E=Sophos;i="5.95,211,1661842800"; d="scan'208";a="196910082" Received: from unknown (HELO email.microchip.com) ([170.129.1.10]) by esa1.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 25 Oct 2022 02:03:56 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by chn-vm-ex01.mchp-main.com (10.10.85.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.12; Tue, 25 Oct 2022 02:03:48 -0700 Received: from ROB-ULT-M18064N.mchp-main.com (10.10.115.15) by chn-vm-ex03.mchp-main.com (10.10.85.151) with Microsoft SMTP Server id 15.1.2507.12 via Frontend Transport; Tue, 25 Oct 2022 02:03:46 -0700 From: Tudor Ambarus To: , , CC: , , , , , , , "Tudor Ambarus" , Subject: [PATCH v2 12/32] dmaengine: at_hdmac: Fix completion of unissued descriptor in case of errors Date: Tue, 25 Oct 2022 12:02:46 +0300 Message-ID: <20221025090306.297886-13-tudor.ambarus@microchip.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221025090306.297886-1-tudor.ambarus@microchip.com> References: <20221025090306.297886-1-tudor.ambarus@microchip.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Spam-Status: No, score=-4.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.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 Signed-off-by: Tudor Ambarus Cc: stable@vger.kernel.org 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 9e5a30396c1c..80eeb4fb88ef 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -539,10 +539,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); -- 2.25.1