summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYi Yang <yiyang13@huawei.com>2023-08-17 19:58:39 +0800
committerMiquel Raynal <miquel.raynal@bootlin.com>2023-08-18 16:38:34 +0200
commita5a88125d00612586e941ae13e7fcf36ba8f18a7 (patch)
treee6a10b36db38e6a759ccbc22194b97ef4182e7f1
parentf504551b7f153c52e52154b989266c11a17590f3 (diff)
mtd: rawnand: fsmc: handle clk prepare error in fsmc_nand_resume()
In fsmc_nand_resume(), the return value of clk_prepare_enable() should be checked since it might fail. Fixes: e25da1c07dfb ("mtd: fsmc_nand: Add clk_{un}prepare() support") Signed-off-by: Yi Yang <yiyang13@huawei.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20230817115839.10192-1-yiyang13@huawei.com
-rw-r--r--drivers/mtd/nand/raw/fsmc_nand.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/mtd/nand/raw/fsmc_nand.c b/drivers/mtd/nand/raw/fsmc_nand.c
index 7b4742420dfc..2e33ae77502a 100644
--- a/drivers/mtd/nand/raw/fsmc_nand.c
+++ b/drivers/mtd/nand/raw/fsmc_nand.c
@@ -1200,9 +1200,14 @@ static int fsmc_nand_suspend(struct device *dev)
static int fsmc_nand_resume(struct device *dev)
{
struct fsmc_nand_data *host = dev_get_drvdata(dev);
+ int ret;
if (host) {
- clk_prepare_enable(host->clk);
+ ret = clk_prepare_enable(host->clk);
+ if (ret) {
+ dev_err(dev, "failed to enable clk\n");
+ return ret;
+ }
if (host->dev_timings)
fsmc_nand_setup(host, host->dev_timings);
nand_reset(&host->nand, 0);