summaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorMaya Erez <merez@codeaurora.org>2014-12-04 00:15:42 +0200
committerSubhash Jadavani <subhashj@codeaurora.org>2016-05-31 15:25:37 -0700
commiteb587df25d81e29ddcbb72c0e78ad5feac510668 (patch)
treefb8d9ce64de640d900770c58dfb66f41dc276796 /drivers/mmc
parentcbaf05043f2e738526346ba947485cf99b2f3ad5 (diff)
mmc: block: Fix error handling of device attributes creation
When a failure occurs while creating a device attribute, we need to remove previously created attributes prior to deleting the disk. Change-Id: I01a8d4437f372abdf33230c34a73b5806e97188b Signed-off-by: Maya Erez <merez@codeaurora.org> [merez@codeaurora.org: fixed conflicts as BKOPS is not taken] Signed-off-by: Maya Erez <merez@codeaurora.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/card/block.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index 8345571a8b1e..da56cd79c78f 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -2685,10 +2685,12 @@ static int mmc_add_disk(struct mmc_blk_data *md)
ret = device_create_file(disk_to_dev(md->disk),
&md->num_wr_reqs_to_start_packing);
if (ret)
- goto power_ro_lock_fail;
+ goto num_wr_reqs_to_start_packing_fail;
return ret;
+num_wr_reqs_to_start_packing_fail:
+ device_remove_file(disk_to_dev(md->disk), &md->power_ro_lock);
power_ro_lock_fail:
device_remove_file(disk_to_dev(md->disk), &md->force_ro);
force_ro_fail: