aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/mmc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/mmc.c')
-rw-r--r--drivers/mmc/mmc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index 9bda3fddad17..fb04bdd26c36 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -109,6 +109,9 @@ mmc_start_request(struct mmc_host *host, struct mmc_request *mrq)
109 mrq->cmd->mrq = mrq; 109 mrq->cmd->mrq = mrq;
110 if (mrq->data) { 110 if (mrq->data) {
111 BUG_ON(mrq->data->blksz > host->max_blk_size); 111 BUG_ON(mrq->data->blksz > host->max_blk_size);
112 BUG_ON(mrq->data->blocks > host->max_blk_count);
113 BUG_ON(mrq->data->blocks * mrq->data->blksz >
114 host->max_req_size);
112 115
113 mrq->cmd->data = mrq->data; 116 mrq->cmd->data = mrq->data;
114 mrq->data->error = 0; 117 mrq->data->error = 0;
@@ -1605,10 +1608,11 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
1605 */ 1608 */
1606 host->max_hw_segs = 1; 1609 host->max_hw_segs = 1;
1607 host->max_phys_segs = 1; 1610 host->max_phys_segs = 1;
1608 host->max_sectors = 1 << (PAGE_CACHE_SHIFT - 9);
1609 host->max_seg_size = PAGE_CACHE_SIZE; 1611 host->max_seg_size = PAGE_CACHE_SIZE;
1610 1612
1613 host->max_req_size = PAGE_CACHE_SIZE;
1611 host->max_blk_size = 512; 1614 host->max_blk_size = 512;
1615 host->max_blk_count = PAGE_CACHE_SIZE / 512;
1612 } 1616 }
1613 1617
1614 return host; 1618 return host;