From ad6f57205c739055fbab62ef127a37eda76a044a Mon Sep 17 00:00:00 2001
From: Przemyslaw Marczak
Date: Fri, 28 Nov 2014 14:09:00 +0100
Subject: [PATCH] dfu: mmc: check if mmc dev exists in mmc_block_op
Change-Id: I8d74d948c735c42b0f1e75831abf0ca89bf3e883
Signed-off-by: Przemyslaw Marczak
---
drivers/dfu/dfu_mmc.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c
index 2689dd466d..bf073e7f4c 100644
--- a/drivers/dfu/dfu_mmc.c
+++ b/drivers/dfu/dfu_mmc.c
@@ -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.
--
2.34.1