Skip to content

Commit

Permalink
mmc: core: Use mmc_get_ext_csd() instead of mmc_send_ext_csd()
Browse files Browse the repository at this point in the history
By using mmc_get_ext_csd() in favor of mmc_send_ext_csd, we decrease
code duplication.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
  • Loading branch information
Ulf Hansson committed Nov 10, 2014
1 parent 86817ff commit b2cada7
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 22 deletions.
17 changes: 3 additions & 14 deletions drivers/mmc/core/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -731,27 +731,16 @@ int mmc_read_bkops_status(struct mmc_card *card)
int err;
u8 *ext_csd;

/*
* In future work, we should consider storing the entire ext_csd.
*/
ext_csd = kmalloc(512, GFP_KERNEL);
if (!ext_csd) {
pr_err("%s: could not allocate buffer to receive the ext_csd.\n",
mmc_hostname(card->host));
return -ENOMEM;
}

mmc_claim_host(card->host);
err = mmc_send_ext_csd(card, ext_csd);
err = mmc_get_ext_csd(card, &ext_csd);
mmc_release_host(card->host);
if (err)
goto out;
return err;

card->ext_csd.raw_bkops_status = ext_csd[EXT_CSD_BKOPS_STATUS];
card->ext_csd.raw_exception_status = ext_csd[EXT_CSD_EXP_EVENTS_STATUS];
out:
kfree(ext_csd);
return err;
return 0;
}
EXPORT_SYMBOL(mmc_read_bkops_status);

Expand Down
9 changes: 1 addition & 8 deletions drivers/mmc/core/debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -291,14 +291,8 @@ static int mmc_ext_csd_open(struct inode *inode, struct file *filp)
if (!buf)
return -ENOMEM;

ext_csd = kmalloc(512, GFP_KERNEL);
if (!ext_csd) {
err = -ENOMEM;
goto out_free;
}

mmc_get_card(card);
err = mmc_send_ext_csd(card, ext_csd);
err = mmc_get_ext_csd(card, &ext_csd);
mmc_put_card(card);
if (err)
goto out_free;
Expand All @@ -314,7 +308,6 @@ static int mmc_ext_csd_open(struct inode *inode, struct file *filp)

out_free:
kfree(buf);
kfree(ext_csd);
return err;
}

Expand Down

0 comments on commit b2cada7

Please sign in to comment.