From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.5 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F33A7C4321A for ; Sat, 29 Jun 2019 08:22:08 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id C71332086D for ; Sat, 29 Jun 2019 08:22:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ozODmPGS"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="U+sD4Tg2" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C71332086D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: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:In-Reply-To: References:List-Owner; bh=3/mrBXhbWvklpSSjKyTUNGJq5NHiuD3YHwC1njZ8/Ik=; b=ozO DmPGSUACf1PI5xneDJeLvqdF4gNCZP7VIZhAezmN1yQbxvHE58paVoEKkKuKU7BWpXp+xzhxOB8uZ YG8syWJD6cug+VwS3bs61HyVk8z6ysrOtnCLusuTGegYNSqNMAi56jUTYd5hrnZ5oUj0NNssxwiJS E3/JpAvwLbp/89XLCSroavMd0rLr1KdA+pSwYKvgRkNROFdt1hl1mt0Qfxha7WgT795w0ZUoWsa2v yIh1moDQhlHD5U9wZS8/N3Pd7BRhn6RYyzxEAeXXjETKRQiaFEkIxsvH9smfD+ZV+1Vy3oOZ6Wtis X0m7hx/GqIfNSMtctDZsJaZqLIOjRPg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hh8cJ-0001Vx-5k; Sat, 29 Jun 2019 08:21:51 +0000 Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hh8cD-0001Uy-5F for linux-arm-kernel@lists.infradead.org; Sat, 29 Jun 2019 08:21:47 +0000 Received: by mail-pf1-x441.google.com with SMTP id t16so4114198pfe.11 for ; Sat, 29 Jun 2019 01:21:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=HB5G4BCyKAU7NWh04NXHQUYQWJo7mRMg3f1DS79X9is=; b=U+sD4Tg2i5EmnQ+E96oYuHmFfjRIZFhu+ImSjldFv+pp7bnarxQt4kZTlckg4DVX+M 5BwiyO9vyxW50aW05AoE/XIReZ9UkFMhsaXqrral2F+wzcVqDlYG9Mvy5WHbXw3EVJDh O+MEOuUIm8CeKDhIpzNb9pUSquazzH3bdV8LKIxTfBVuq8knnPvwv2H4AHzKPX2lgP4s trkpZ1ybjg/Y1kuSq/ywv3KuZTsKx+BT4RNyIxMJxKYktCp2UZVQyYwlHdkJpOF55bVO qgTm4y/L71e3PxcXX0+KKUtPt/aEITyjaj+U13dkDaAkNQB52CqYfAurITZQgPSEwS/+ iYYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=HB5G4BCyKAU7NWh04NXHQUYQWJo7mRMg3f1DS79X9is=; b=qFF3/LhlhtbdIAmaR8xhXh4mWonU5GZVBjd1SgzdqH+nQRxgCE0PkFHcEPWGGXoLAe oFghVpSXrhufyO8I7C7HoALU5ngCfKJHb5QTV7QtmKJFluBzzavUw8O8m3v9v8dd8ynE McC09Ra8BOPTIzEBooYuuaJNJoi8DF80DvTXh9Q6q30Fu+b5PqQn1+urjLrPmaSxQz9H foBTg11wLWqkcoVeAEALikMFN032dZ2UWG41MuCD+BKezZYK3BnxCFmmzYlgoBzRIbPt +3JhvP5hVtF0PypWJ4aplB/Boi3vyQuV9JvA/FCwIIyRIEsZpXJkkARVY0eGPgkxZjy5 r9Tg== X-Gm-Message-State: APjAAAW/R1AacqU4lzJvqGLZMIDtZBlQo6sdODxVDHzZK9cGJ6j/lEVT Lb7A463EQXaF+thsAA46M3M= X-Google-Smtp-Source: APXvYqxe+pfvA2fNml3PD0CjRgo9z23VagyA/eh1M1nZFUM5QLw9+cWEf3nEyzTfGxa1nZKlTrc+TA== X-Received: by 2002:a17:90a:228b:: with SMTP id s11mr17710124pjc.23.1561796503508; Sat, 29 Jun 2019 01:21:43 -0700 (PDT) Received: from localhost.localdomain ([219.91.196.157]) by smtp.googlemail.com with ESMTPSA id 27sm3834610pgt.6.2019.06.29.01.21.40 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 29 Jun 2019 01:21:42 -0700 (PDT) From: Raag Jadav To: dmaengine@vger.kernel.org, Vinod Koul Subject: [PATCH] dmaengine: at_xdmac: check for non-empty xfers_list before invoking callback Date: Sat, 29 Jun 2019 13:50:48 +0530 Message-Id: <1561796448-3321-1-git-send-email-raagjadav@gmail.com> X-Mailer: git-send-email 2.7.4 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190629_012145_429753_3FF495CB X-CRM114-Status: GOOD ( 12.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Raag Jadav , Ludovic Desroches , Dan Williams , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org tx descriptor retrieved from an empty xfers_list may not have valid pointers to the callback functions. Avoid calling dmaengine_desc_get_callback_invoke if xfers_list is empty. Signed-off-by: Raag Jadav --- drivers/dma/at_xdmac.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c index 627ef3e..b58ac72 100644 --- a/drivers/dma/at_xdmac.c +++ b/drivers/dma/at_xdmac.c @@ -1568,11 +1568,14 @@ static void at_xdmac_handle_cyclic(struct at_xdmac_chan *atchan) struct at_xdmac_desc *desc; struct dma_async_tx_descriptor *txd; - desc = list_first_entry(&atchan->xfers_list, struct at_xdmac_desc, xfer_node); - txd = &desc->tx_dma_desc; + if (!list_empty(&atchan->xfers_list)) { + desc = list_first_entry(&atchan->xfers_list, + struct at_xdmac_desc, xfer_node); + txd = &desc->tx_dma_desc; - if (txd->flags & DMA_PREP_INTERRUPT) - dmaengine_desc_get_callback_invoke(txd, NULL); + if (txd->flags & DMA_PREP_INTERRUPT) + dmaengine_desc_get_callback_invoke(txd, NULL); + } } static void at_xdmac_handle_error(struct at_xdmac_chan *atchan) -- 2.7.4 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel