mmc: block: Fix error path in mmc_blk_probe()
Returning zero to indicate success, when we actually have failed to probe is wrong. As a matter of fact, it leads to that mmc_blk_remove() gets called at a card removal and then triggers "NULL pointer dereference" splats. This is because mmc_blk_remove() relies on data structures and pointers to be setup from mmc_blk_probe(), of course. There have been no errors reported about this, which is most likely because mmc_blk_probe() never fails like this. Nevertheless, let's fix the code by propagating the error codes correctly and prevent us from leaking memory by calling also destroy_workqueue() in the error path. Signed-off-by:Ulf Hansson <ulf.hansson@linaro.org> Link: https://lore.kernel.org/r/20210303122049.151986-4-ulf.hansson@linaro.orgSigned-off-by:
Ulf Hansson <ulf.hansson@linaro.org>
Showing
Please register or sign in to comment