aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/core/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/core/core.c')
-rw-r--r--drivers/mmc/core/core.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index b45aaa904107..681b089f669a 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -1847,7 +1847,7 @@ static unsigned int mmc_align_erase_size(struct mmc_card *card,
1847 * @card: card to erase 1847 * @card: card to erase
1848 * @from: first sector to erase 1848 * @from: first sector to erase
1849 * @nr: number of sectors to erase 1849 * @nr: number of sectors to erase
1850 * @arg: erase command argument (SD supports only %SD_ERASE_ARG) 1850 * @arg: erase command argument
1851 * 1851 *
1852 * Caller must claim host before calling this function. 1852 * Caller must claim host before calling this function.
1853 */ 1853 */
@@ -1864,14 +1864,14 @@ int mmc_erase(struct mmc_card *card, unsigned int from, unsigned int nr,
1864 if (!card->erase_size) 1864 if (!card->erase_size)
1865 return -EOPNOTSUPP; 1865 return -EOPNOTSUPP;
1866 1866
1867 if (mmc_card_sd(card) && arg != SD_ERASE_ARG) 1867 if (mmc_card_sd(card) && arg != SD_ERASE_ARG && arg != SD_DISCARD_ARG)
1868 return -EOPNOTSUPP; 1868 return -EOPNOTSUPP;
1869 1869
1870 if ((arg & MMC_SECURE_ARGS) && 1870 if (mmc_card_mmc(card) && (arg & MMC_SECURE_ARGS) &&
1871 !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_ER_EN)) 1871 !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_ER_EN))
1872 return -EOPNOTSUPP; 1872 return -EOPNOTSUPP;
1873 1873
1874 if ((arg & MMC_TRIM_ARGS) && 1874 if (mmc_card_mmc(card) && (arg & MMC_TRIM_ARGS) &&
1875 !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_GB_CL_EN)) 1875 !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_GB_CL_EN))
1876 return -EOPNOTSUPP; 1876 return -EOPNOTSUPP;
1877 1877