Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2238725pxb; Sat, 23 Jan 2021 23:45:08 -0800 (PST) X-Google-Smtp-Source: ABdhPJxo4/tFa+zc/458HgQfjJKgSzR8VWCwv4YDYyoI4KXMTtmjC/S4KHfIFuTk13RwA6oamEhy X-Received: by 2002:a17:906:2a42:: with SMTP id k2mr31686eje.118.1611474308395; Sat, 23 Jan 2021 23:45:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611474308; cv=none; d=google.com; s=arc-20160816; b=ah7gfoky57DO1rCM71pxOiGrIhjyur4LvrVnlyY2x/3yBvER0RBrEygYvyvjNZ9n0k AjQjFnBptF8fReJrvGOWebSuC44rlWNR8Sm/rj6XE/BxCfDzVdAnNGa0zDwVtgECqdUE p4kJxJgkbeiYnZ/cu8dZZxxgOplajDknhrfvZAh5PG6Pm2lHDK7xsy/0anJ9Kgg+2gub 7dZwqCpMPuf6kfDcVCDJbIDP3OBwQcfCTmf9i1WnMyLbplPvZ3UbuzHTq150oObFngRp 6hIO/+uqSqH4EgDk+26nAU9uveBxQQrE7sEIMi34UNMgrirFHGb6VmNRAtUJU1wVF10Y CNfA== 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 :message-id:date:subject:cc:to:from; bh=uyLeDWm8tPyUwSfsSezr0KnThNcAfOtlBDt08CUZNJE=; b=y+LoduACntKXokGMA5m5Gqek+meGg2wv9ELRKB+MIJ4W6cWta7hv4o54b+p4XomgDX WwDFiRwHX+xP5vjTxOHL4+DdrzqLAO2e1pcJUoLEGZU20zD3R9Fdqiz8+UkHVL/PBCtL Yx1EBkcPR+l3Vk7BeGxdu13bBtF1JdCUwJV3X2UU4CydPNPI2mCD4lbFTSUh/rsXZ2xB +9/OOTN/YxuG4WJOt1s1skipagSVGz6jvH8/hUKHmIbdHb9kiXCmX7HPqM4Ep8eIxzFn E0VjYnf9FE+1W+nXKxLDUAmgO6/JgiAhXSlhTNXQQ0KQ0SwZU4vClI2WiP5rx91MJabW wX+w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f25si4181539edr.468.2021.01.23.23.44.45; Sat, 23 Jan 2021 23:45:08 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726456AbhAXHln (ORCPT + 99 others); Sun, 24 Jan 2021 02:41:43 -0500 Received: from smtp03.smtpout.orange.fr ([80.12.242.125]:54747 "EHLO smtp.smtpout.orange.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726038AbhAXHlm (ORCPT ); Sun, 24 Jan 2021 02:41:42 -0500 Received: from localhost.localdomain ([92.131.99.25]) by mwinf5d58 with ME id LXfx2400C0Ys01Y03XfyzX; Sun, 24 Jan 2021 08:40:00 +0100 X-ME-Helo: localhost.localdomain X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Sun, 24 Jan 2021 08:40:00 +0100 X-ME-IP: 92.131.99.25 From: Christophe JAILLET To: miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, vadivel.muruganx.ramuthevar@linux.intel.com, martin.blumenstingl@googlemail.com Cc: linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET Subject: [PATCH] mtd: rawnand: Fix an error handling path in 'ebu_dma_start()' Date: Sun, 24 Jan 2021 08:39:55 +0100 Message-Id: <20210124073955.728797-1-christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If 'dmaengine_prep_slave_single()' fails, we must undo a previous 'dma_map_single()' call, as already done in all the other error handling paths of this function. Fixes: 0b1039f016e8 ("mtd: rawnand: Add NAND controller support on Intel LGM SoC") Signed-off-by: Christophe JAILLET --- drivers/mtd/nand/raw/intel-nand-controller.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/raw/intel-nand-controller.c b/drivers/mtd/nand/raw/intel-nand-controller.c index a304fda5d1fa..8b49fd56cf96 100644 --- a/drivers/mtd/nand/raw/intel-nand-controller.c +++ b/drivers/mtd/nand/raw/intel-nand-controller.c @@ -318,8 +318,10 @@ static int ebu_dma_start(struct ebu_nand_controller *ebu_host, u32 dir, } tx = dmaengine_prep_slave_single(chan, buf_dma, len, dir, flags); - if (!tx) - return -ENXIO; + if (!tx) { + ret = -ENXIO; + goto err_unmap; + } tx->callback = callback; tx->callback_param = ebu_host; -- 2.27.0