mmc: core: Don't panic when fetching EXT_CSD
authorUlf Hansson <ulf.hansson@linaro.org>
Thu, 16 Oct 2014 15:00:39 +0000 (17:00 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 10 Nov 2014 11:40:43 +0000 (12:40 +0100)
Instead of doing BUG_ON(), return an error code.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/mmc.c

index fe801e612b1f7c43b01588065f13f4f2cbd263c8..efaa9f8f07b08159973ec159e289c7f76764150c 100644 (file)
@@ -185,8 +185,8 @@ static int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd)
        int err;
        u8 *ext_csd;
 
-       BUG_ON(!card);
-       BUG_ON(!new_ext_csd);
+       if (!card || !new_ext_csd)
+               return -EINVAL;
 
        if (!mmc_can_ext_csd(card))
                return -EOPNOTSUPP;
@@ -368,8 +368,6 @@ static int mmc_decode_ext_csd(struct mmc_card *card, u8 *ext_csd)
        int err = 0, idx;
        unsigned int part_size;
 
-       BUG_ON(!card);
-
        /* Version is coded in the CSD_STRUCTURE byte in the EXT_CSD register */
        card->ext_csd.raw_ext_csd_structure = ext_csd[EXT_CSD_STRUCTURE];
        if (card->csd.structure == 3) {