diff options
author | Han Xu <han.xu@nxp.com> | 2018-08-09 15:54:29 -0500 |
---|---|---|
committer | Jason Liu <jason.hui.liu@nxp.com> | 2019-02-12 10:33:16 +0800 |
commit | 2568de1e30c3c6b5073c2e8fabafc8c514d82146 (patch) | |
tree | 522b325ce99b3687a1252300ae38350e38c01836 /drivers/mtd | |
parent | b749ec5387636b141cf51bd75be7d76373e19973 (diff) |
MLK-18788: mtd: gpmi-nand: release HIGH_FREQ request in error path
release the HIGH_FREQ request was done in runtime suspend, disable
autosuspend and disable the runtime in NAND probe error path
Signed-off-by: Han Xu <han.xu@nxp.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c index 646a1f8d183a..f6c528895ebd 100644 --- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c +++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c @@ -2428,16 +2428,19 @@ static int gpmi_nand_probe(struct platform_device *pdev) ret = init_hardware(this); if (ret) - goto exit_nfc_init; + goto exit_rpm; ret = gpmi_nand_init(this); if (ret) - goto exit_nfc_init; + goto exit_rpm; dev_info(this->dev, "driver registered.\n"); return 0; +exit_rpm: + pm_runtime_dont_use_autosuspend(this->dev); + pm_runtime_disable(this->dev); exit_nfc_init: release_resources(this); exit_acquire_resources: @@ -2449,6 +2452,7 @@ static int gpmi_nand_remove(struct platform_device *pdev) { struct gpmi_nand_data *this = platform_get_drvdata(pdev); + release_bus_freq(BUS_FREQ_HIGH); nand_release(nand_to_mtd(&this->nand)); gpmi_free_dma_buffer(this); pm_runtime_disable(this->dev); |