diff options
Diffstat (limited to 'drivers/mmc/host/dw_mmc.c')
-rw-r--r-- | drivers/mmc/host/dw_mmc.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 4033cf96c7d7..a850f8d7d4b5 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c | |||
@@ -2804,8 +2804,15 @@ static int dw_mci_init_slot_caps(struct dw_mci_slot *slot) | |||
2804 | } else { | 2804 | } else { |
2805 | ctrl_id = to_platform_device(host->dev)->id; | 2805 | ctrl_id = to_platform_device(host->dev)->id; |
2806 | } | 2806 | } |
2807 | if (drv_data && drv_data->caps) | 2807 | |
2808 | if (drv_data && drv_data->caps) { | ||
2809 | if (ctrl_id >= drv_data->num_caps) { | ||
2810 | dev_err(host->dev, "invalid controller id %d\n", | ||
2811 | ctrl_id); | ||
2812 | return -EINVAL; | ||
2813 | } | ||
2808 | mmc->caps |= drv_data->caps[ctrl_id]; | 2814 | mmc->caps |= drv_data->caps[ctrl_id]; |
2815 | } | ||
2809 | 2816 | ||
2810 | if (host->pdata->caps2) | 2817 | if (host->pdata->caps2) |
2811 | mmc->caps2 = host->pdata->caps2; | 2818 | mmc->caps2 = host->pdata->caps2; |