Received: by 2002:a25:31c3:0:0:0:0:0 with SMTP id x186csp6574724ybx; Mon, 11 Nov 2019 11:11:23 -0800 (PST) X-Google-Smtp-Source: APXvYqx4LWddghadO+JlB5mhMumBREr8F55DOY8FlhZmDjmwkHjY4JNN2wjwEm4tonTq/yoj9aj0 X-Received: by 2002:a17:906:bfe3:: with SMTP id vr3mr3984752ejb.273.1573499483657; Mon, 11 Nov 2019 11:11:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1573499483; cv=none; d=google.com; s=arc-20160816; b=k8yzAAJAQizaK5aXtevhx2EI+bFP2VW58D3Z8CP+K9FcogXP8j/B8eWI907JpLeeAo 45u0yceeAe1niVTXgSOT9GXp6iT2Ky35cI0L10Jf1J+1uhuW65ezJqJMaxJe4T4FLItr jjR0T8HPZQE/lRnSvfzBA9mU2QaQaz44V6mLjFU0HTsF4+Ix0doSBaUTidCXqCi3sSmo 2vCTEcMOp+kgQJ/CnmUe2OPZ2RRArgTLEDh2FYgdJjL1w3ZomgIAwFT4FdftFJ9/f4DX GwH6cwvuNiECKlgwi6fLAJouy+GvP3XthiCHcptbSAdUgM4c3Q67wNcj7H0vdWIFbSdB fnIA== 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=EQpoj8c4PTXIu5dHd+ExH1CNTY75mJN3892MnuKGiEY=; b=hDLORDPUAcIvoPFTystdKroKQsMtl6EgvdUbU+AvmrfiS4JMdd0LLY8uAm2Ocn5vcW UM9poZiz1it69fySCpmCVQcbP+/3HUW13uYP/NBwKDMpJHKLPRQ+Zt3v9WtBTK3ktJKq KinhVNwbuXw0zQ8o2AsCHWKJWNXXecLRStUuEwHtu77IuRUFcqkm5zJbCdsUmr32LkGn UTkvn2Cb2363MVa+V/TkoTv7wQ5ZKKuYb35BN7hOKVcsKIC4uUEcWL4Vd4zUgt+IVOGd gzzSyZUItsiIWIlNoD74WIP45eUZA7IMJcWn0epaPkTiQcCdrDtvZ6/JbdXHoHJTKoed sNXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jPjZE487; 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 gs14si9821285ejb.347.2019.11.11.11.10.59; Mon, 11 Nov 2019 11:11:23 -0800 (PST) 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=jPjZE487; 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 S1728644AbfKKSgB (ORCPT + 99 others); Mon, 11 Nov 2019 13:36:01 -0500 Received: from mail.kernel.org ([198.145.29.99]:54010 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728630AbfKKSf5 (ORCPT ); Mon, 11 Nov 2019 13:35:57 -0500 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 7E70E222C2; Mon, 11 Nov 2019 18:35:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573497357; bh=lqibCGxFpPmW4bH98IfS8pzBPh6v1U4+L0cwszJn9lI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jPjZE487cb/xUMawgMO7fXdRjrMcr1mHQcskH+SiTTWbFpaZ8u2jybV/WubSgJC1F gq3tJg7q4Bj5veRFws0gi/QWSDVy4DyEhdiyzfD8zGqnMbwt0ureawfSRyutBW4dem JP+V1PKUrNoUO7SRKy01RHrVdD2oZZggDDl7cjDg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Fabrice Gasnier , Stable@vger.kernel.org, Jonathan Cameron Subject: [PATCH 4.14 026/105] iio: adc: stm32-adc: fix stopping dma Date: Mon, 11 Nov 2019 19:27:56 +0100 Message-Id: <20191111181437.672482246@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191111181421.390326245@linuxfoundation.org> References: <20191111181421.390326245@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: Fabrice Gasnier commit e6afcf6c598d6f3a0c9c408bfeddb3f5730608b0 upstream. There maybe a race when using dmaengine_terminate_all(). The predisable routine may call iio_triggered_buffer_predisable() prior to a pending DMA callback. Adopt dmaengine_terminate_sync() to ensure there's no pending DMA request before calling iio_triggered_buffer_predisable(). Fixes: 2763ea0585c9 ("iio: adc: stm32: add optional dma support") Signed-off-by: Fabrice Gasnier Cc: Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- drivers/iio/adc/stm32-adc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/iio/adc/stm32-adc.c +++ b/drivers/iio/adc/stm32-adc.c @@ -1343,7 +1343,7 @@ static int stm32_adc_dma_start(struct ii cookie = dmaengine_submit(desc); ret = dma_submit_error(cookie); if (ret) { - dmaengine_terminate_all(adc->dma_chan); + dmaengine_terminate_sync(adc->dma_chan); return ret; } @@ -1416,7 +1416,7 @@ static int stm32_adc_buffer_predisable(s dev_err(&indio_dev->dev, "predisable failed\n"); if (adc->dma_chan) - dmaengine_terminate_all(adc->dma_chan); + dmaengine_terminate_sync(adc->dma_chan); if (stm32_adc_set_trig(indio_dev, NULL)) dev_err(&indio_dev->dev, "Can't clear trigger\n");