mmc: block: Remove error check of hw_reset on reset
PATCH 1/2 mmc: block: Remove error check of hw_reset on reset
Before switching back to the right partition in mmc_blk_reset there used to be a check if hw_reset was even supported. This return value was removed, so there is no reason to check.
--- drivers/mmc/core/block.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-)
drivers/mmc/core/block.c +10 -14
@@ -991,6 +991,8 @@ static int mmc_blk_reset(struct mmc_blk_data *md, struct mmc_host *host, int type) {int err; +struct mmc_blk_data *main_md =dev_get_drvdata (&host->card->dev); +int part_err;if (md->reset_done & type)return -EEXIST ;
@@ -998,20 +1000,14 @@ static int mmc_blk_reset(struct mmc_blk_data *md, struct mmc_host *host, md->reset_done |= type; err =mmc_hw_reset (host->card);/* Ensure we switch back to the correct partition */ -if (err) { -struct mmc_blk_data *main_md = -dev_get_drvdata (&host->card->dev); -int part_err; - - main_md->part_curr = main_md->part_type; - part_err =mmc_blk_part_switch (host->card, md->part_type); -if (part_err) { -/* -* We have failed to get back into the correct -* partition, so we need to abort the whole request. -*/ -return -ENODEV ; - } + main_md->part_curr = main_md->part_type; + part_err =mmc_blk_part_switch (host->card, md->part_type); +if (part_err) { +/* +* We have failed to get back into the correct +* partition, so we need to abort the whole request. +*/ +return -ENODEV ; }return err; }
Signature · 5 lines
2.37.3 Hyperstone GmbH | Reichenaustr. 39a | 78467 Konstanz Managing Director: Dr. Jan Peter Berns. Commercial register of local courts: Freiburg HRB381782
Quoted 34 lines · Christian Löhle
Before switching back to the right partition in
mmc_blk_resetthere used to be a check ifhw_resetwas even supported. This return value was removed, so there is no reason to check.Fixes fefdd3c91e0a ("mmc: core: Drop superfluous validations in mmc_hw|sw_reset()")Signed-off-by Christian Loehle <[email protected]>--- drivers/mmc/core/block.c | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-)drivers/mmc/core/block.c +2
-4@@ -991,6 +991,8 @@ static int mmc_blk_reset(struct mmc_blk_data *md, struct mmc_host *host, int type) {int err; +struct mmc_blk_data *main_md =dev_get_drvdata (&host->card->dev); +int part_err;if (md->reset_done & type)return -EEXIST ;@@ -998,20 +1000,14 @@ static int mmc_blk_reset(struct mmc_blk_data *md, struct mmc_host *host, md->reset_done |= type; err =mmc_hw_reset (host->card);/* Ensure we switch back to the correct partition */ -if (err) { -struct mmc_blk_data *main_md = -dev_get_drvdata (&host->card->dev); -int part_err;
drivers/mmc/core/block.c static int mmc_blk_reset(struct mmc_blk_data *md, struct mmc_host *host, · line 1014
Quoted 10 lines
drivers/mmc/core/block.c +0
-10- - main_md->part_curr = main_md->part_type; - part_err =mmc_blk_part_switch (host->card, md->part_type); -if (part_err) { -/* -* We have failed to get back into the correct -* partition, so we need to abort the whole request. -*/ -return -ENODEV ; - }
Yes, this is certainly restoring the behaviour and fixing a bug. Thanks!
However, I do wonder about what's the point of trying to switch back to the correct partition if the mmc_hw_reset() failed (returned a negative error code). It looks like that shouldn't matter, if the reset failed we are screwed anyway, right?
drivers/mmc/core/block.c static int mmc_blk_reset(struct mmc_blk_data *md, struct mmc_host *host, · line 1013
Quoted 11 lines
drivers/mmc/core/block.c +8
-0+ main_md->part_curr = main_md->part_type; + part_err =mmc_blk_part_switch (host->card, md->part_type); +if (part_err) { +/* +* We have failed to get back into the correct +* partition, so we need to abort the whole request. +*/ +return -ENODEV ; }return err; }
Kind regards
Uffe
Quoted 3 lines
Yes, this is certainly restoring the behaviour and fixing a bug. Thanks!
However, I do wonder about what's the point of trying to switch back to the correct partition if the
mmc_hw_reset()> failed (returned a negative error code). It looks like that shouldn't matter, if the reset failed we are screwed anyway, > right?
I agree with you, the only reason for it is to keep behavior in line with err != -EOPNOTSUPP, For the case that neither of you remembers the original intent, I'll send a v2.
Regards,
Christian
Hyperstone GmbH | Reichenaustr. 39a | 78467 Konstanz Managing Director: Dr. Jan Peter Berns. Commercial register of local courts: Freiburg HRB381782