Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp552132pxt; Thu, 12 Aug 2021 04:40:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy50p6TPKPhUhJsiiYjCq2yF02Ajlvzx6VMh3SsgJrarxq6CU5ThHW37qFI5VRqU3P8X5f+ X-Received: by 2002:a05:6402:394:: with SMTP id o20mr4881003edv.232.1628768441094; Thu, 12 Aug 2021 04:40:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628768441; cv=none; d=google.com; s=arc-20160816; b=YhZUa4RZ8tueayEZ+BlY04MyjIhNLzGcTWkO2zgVtgHMvR+KlVhJB2V88fbGdRKXMg v7pdxykBG0+Gty2vVIQUn5SiXH/U2tAs0EVasxjWd3V4T9BJx1wlTC0bWHt7PEBDxTMX owwvVLFSI1/kMDFJo8GJe0dN8t0qWV+78K8KURlUxVrB8W5+iGFWuwJ3/jUIpzrPzAEX 9zukgJqYLHzOELVjDdTBIRXczxPg7CuOhT9VQftB2mMdaK+jnPCQN+vEMCWl7is83w1v 7+nmPn4Ic7Ehwdi3tP9FpHKUrA+GE93Ji1pqYHVCFi9ZbE+Tu0yyPhQsPnW8Ipg0NWH/ aRxg== 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=l0h0pZMTKdnxN4y07RuBo85v3k4xfgx+Gs3q8vZSIwk=; b=qFNP5EvjBAlzrtlcCZFNuIW+VOk+JxjsI+utloYX2kF5Qi1VFwt1rD5YysFCocd7yz RDD/Lu94KuaVAaFRq8XYORHpwnPZtMglc57kB0SJ1Z+sht8MOhJFazddCF6d53CNq7Rh 8KvlBZwy+LHGSNaceVSU3v3/BGqXDf4yHojL1CdF8GAUejcQMtPaT6Ful4WxTkS1Lt+T qtA+pbQYSuYy06J2xMI5pjF+5PJEFG3ZI5RRPol0d3cJ5uswYFfrcncdxcxvDHCoKihc thQDPwH3H/JFC4zTq1ZLNJ5OWVzOJqantlqnbfGb5mNEw0ktyYcNsF8fuKNrVJ49wCjm /1bg== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ispras.ru Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i14si2782642eje.121.2021.08.12.04.40.17; Thu, 12 Aug 2021 04:40:41 -0700 (PDT) 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ispras.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236976AbhHLLii (ORCPT + 99 others); Thu, 12 Aug 2021 07:38:38 -0400 Received: from mail.ispras.ru ([83.149.199.84]:59262 "EHLO mail.ispras.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231467AbhHLLii (ORCPT ); Thu, 12 Aug 2021 07:38:38 -0400 Received: from hellwig.intra.ispras.ru (unknown [10.10.2.182]) by mail.ispras.ru (Postfix) with ESMTPS id 1227C40A2BB0; Thu, 12 Aug 2021 11:38:06 +0000 (UTC) From: Evgeny Novikov To: Miquel Raynal Cc: Evgeny Novikov , Richard Weinberger , Vignesh Raghavendra , Kirill Shilimanov , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, ldv-project@linuxtesting.org Subject: [PATCH] mtd: rawnand: mxic: Enable and prepare clocks in probe Date: Thu, 12 Aug 2021 14:38:00 +0300 Message-Id: <20210812113800.12466-1-novikov@ispras.ru> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org It seems that mxic_nfc_probe() missed invocation of mxic_nfc_clk_enable(). The patch fixed that. In addition, error handling was refined appropriately. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Evgeny Novikov Co-developed-by: Kirill Shilimanov Signed-off-by: Kirill Shilimanov --- drivers/mtd/nand/raw/mxic_nand.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/mtd/nand/raw/mxic_nand.c b/drivers/mtd/nand/raw/mxic_nand.c index da1070993994..37e75bf60ee5 100644 --- a/drivers/mtd/nand/raw/mxic_nand.c +++ b/drivers/mtd/nand/raw/mxic_nand.c @@ -509,9 +509,15 @@ static int mxic_nfc_probe(struct platform_device *pdev) if (IS_ERR(nfc->send_dly_clk)) return PTR_ERR(nfc->send_dly_clk); + err = mxic_nfc_clk_enable(nfc); + if (err) + return err; + nfc->regs = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(nfc->regs)) - return PTR_ERR(nfc->regs); + if (IS_ERR(nfc->regs)) { + err = PTR_ERR(nfc->regs); + goto fail; + } nand_chip = &nfc->chip; mtd = nand_to_mtd(nand_chip); @@ -527,8 +533,10 @@ static int mxic_nfc_probe(struct platform_device *pdev) nand_chip->controller = &nfc->controller; irq = platform_get_irq(pdev, 0); - if (irq < 0) - return irq; + if (irq < 0) { + err = irq; + goto fail; + } mxic_nfc_hw_init(nfc); -- 2.26.2