dfu: mmc: check if mmc dev exists in mmc_block_op
authorPrzemyslaw Marczak <p.marczak@samsung.com>
Fri, 28 Nov 2014 13:09:00 +0000 (14:09 +0100)
committerChanho Park <chanho61.park@samsung.com>
Wed, 10 Dec 2014 09:02:33 +0000 (18:02 +0900)
Change-Id: I8d74d948c735c42b0f1e75831abf0ca89bf3e883
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
drivers/dfu/dfu_mmc.c

index 2689dd466de25e783dd6eb101e1df0b5984af1ee..bf073e7f4cbbd2a141c3edf071f03ad8f17e78e9 100644 (file)
@@ -40,10 +40,16 @@ static int mmc_access_part(struct dfu_entity *dfu, struct mmc *mmc, int part)
 static int mmc_block_op(enum dfu_op op, struct dfu_entity *dfu,
                        u64 offset, void *buf, long *len)
 {
-       struct mmc *mmc = find_mmc_device(dfu->data.mmc.dev_num);
+       struct mmc *mmc;
        u32 blk_start, blk_count, n = 0;
        int ret, part_num_bkp = 0;
 
+       mmc = find_mmc_device(dfu->data.mmc.dev_num);
+       if (!mmc) {
+               printf("Device MMC %d - not found!", dfu->data.mmc.dev_num);
+               return -ENODEV;
+       }
+
        /*
         * We must ensure that we work in lba_blk_size chunks, so ALIGN
         * this value.