Received: by 10.192.165.156 with SMTP id m28csp1142782imm; Wed, 11 Apr 2018 13:14:00 -0700 (PDT) X-Google-Smtp-Source: AIpwx48KxgnIBdjK8XASrr9DYdyiIIjYLAPwT66g/s+aLsArtbs3jkrPsvP5ayuFaxxV6NcfgYQv X-Received: by 10.98.144.205 with SMTP id q74mr5196372pfk.55.1523477640788; Wed, 11 Apr 2018 13:14:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523477640; cv=none; d=google.com; s=arc-20160816; b=YB+QvlhBFL+X/xvR3h68MDO2Xx0c/tt0YSNXLYyK30zsDr0Rv651768gQymAeJUv5a fT3JnPUnqmBHM1BotPBIbnQ3yuL7CRwJuHirqoy3RXTj70VHmyAA0eH8VxSPicPYvuWV fzIsU73F7wdW8ukwdFD1jX2UV8mneeSvJw6ehQgwrZJY7dvkH8yVFJyE08wZ8G2sjM+p uKhrwcQ4vNtMbC5iB+YQjU/EPQceUfWjvZvBMdg7aqPmZUR/oQqyNbxvrOUOTixZOZZs FI+q3Xm04vMCkCfFOeadv9zL0ZpEx5oSvsUaMb9cE6IMfjS8bP7BLilTDvfOzsyNT//X 6XTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=bGwbwNfKw5fS2lR18G1Wto3bVQZJUgFU9d3+k7sQsSs=; b=aGDpjwZ15XCR+uynHULD18yK/ry5C+UralxkhTWNZ7Cy6v2nOdZ3Cnuzcj5b7ELZik A1Hzt6rhEVrPhYgnqyx4vGlxp8cuyuPMUr5Y5SDDbpTUSs9QFoOmOAEBcUgBP06LAxZD NnQiaVm+M+JjTZwOgGhXPGSyf6OTHaQMS+KiW+z11vu8Fl96Sa46nrAGV8ygHdeK9Y+P Mulxcbz3M4BUjNg3sgsc0q2+F9cTnseb65GsqVZ0jDuV5t4ROKbZ9CUzG12wfEeFaYKJ v259gX8Bv0T+Usl7101WrF2cFekksw9chCV0T773m4lG6N+EXDvzasWBFIxeAvxYGXSz ZLug== ARC-Authentication-Results: i=1; mx.google.com; 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 n1-v6si1768004pld.692.2018.04.11.13.13.24; Wed, 11 Apr 2018 13:14:00 -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; 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 S1757393AbeDKUIP (ORCPT + 99 others); Wed, 11 Apr 2018 16:08:15 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:34730 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933590AbeDKSyw (ORCPT ); Wed, 11 Apr 2018 14:54:52 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id CCFF8C06; Wed, 11 Apr 2018 18:54:51 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Anup Patel , Ray Jui , Scott Branden , Dan Williams , Vinod Koul , Sasha Levin Subject: [PATCH 4.9 054/310] async_tx: Fix DMA_PREP_FENCE usage in do_async_gen_syndrome() Date: Wed, 11 Apr 2018 20:33:13 +0200 Message-Id: <20180411183624.571301091@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180411183622.305902791@linuxfoundation.org> References: <20180411183622.305902791@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Anup Patel [ Upstream commit baae03a0e2497f49704628fd0aaf993cf98e1b99 ] The DMA_PREP_FENCE is to be used when preparing Tx descriptor if output of Tx descriptor is to be used by next/dependent Tx descriptor. The DMA_PREP_FENSE will not be set correctly in do_async_gen_syndrome() when calling dma->device_prep_dma_pq() under following conditions: 1. ASYNC_TX_FENCE not set in submit->flags 2. DMA_PREP_FENCE not set in dma_flags 3. src_cnt (= (disks - 2)) is greater than dma_maxpq(dma, dma_flags) This patch fixes DMA_PREP_FENCE usage in do_async_gen_syndrome() taking inspiration from do_async_xor() implementation. Signed-off-by: Anup Patel Reviewed-by: Ray Jui Reviewed-by: Scott Branden Acked-by: Dan Williams Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- crypto/async_tx/async_pq.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) --- a/crypto/async_tx/async_pq.c +++ b/crypto/async_tx/async_pq.c @@ -62,9 +62,6 @@ do_async_gen_syndrome(struct dma_chan *c dma_addr_t dma_dest[2]; int src_off = 0; - if (submit->flags & ASYNC_TX_FENCE) - dma_flags |= DMA_PREP_FENCE; - while (src_cnt > 0) { submit->flags = flags_orig; pq_src_cnt = min(src_cnt, dma_maxpq(dma, dma_flags)); @@ -83,6 +80,8 @@ do_async_gen_syndrome(struct dma_chan *c if (cb_fn_orig) dma_flags |= DMA_PREP_INTERRUPT; } + if (submit->flags & ASYNC_TX_FENCE) + dma_flags |= DMA_PREP_FENCE; /* Drivers force forward progress in case they can not provide * a descriptor