|
@@ -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);
|
|
|
|