mmc: Take cleanup path to free memory on error exit

Instead of returning -EINVAL directly which will not call the cleanup
path to free memory, fix the code to set the error and then goto the
cleanup code.

This issue found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
Andrew Goodbody
2025-07-03 15:03:30 +01:00
committed by Tom Rini
parent 3b4604a40b
commit 1d2723731b

View File

@@ -2365,8 +2365,10 @@ static int mmc_startup_v4(struct mmc *mmc)
return -ENOMEM;
memcpy(mmc->ext_csd, ext_csd, MMC_MAX_BLOCK_LEN);
#endif
if (ext_csd[EXT_CSD_REV] >= ARRAY_SIZE(mmc_versions))
return -EINVAL;
if (ext_csd[EXT_CSD_REV] >= ARRAY_SIZE(mmc_versions)) {
err = -EINVAL;
goto error;
}
mmc->version = mmc_versions[ext_csd[EXT_CSD_REV]];