|
@@ -72,7 +72,7 @@ static void dwmci_prepare_data(struct dwmci_host *host,
|
|
|
dwmci_set_idma_desc(cur_idmac, flags, cnt,
|
|
|
start_addr + (i * PAGE_SIZE));
|
|
|
|
|
|
- if(blk_cnt < 8)
|
|
|
+ if (blk_cnt <= 8)
|
|
|
break;
|
|
|
blk_cnt -= 8;
|
|
|
cur_idmac++;
|
|
@@ -111,7 +111,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
|
|
|
{
|
|
|
struct dwmci_host *host = (struct dwmci_host *)mmc->priv;
|
|
|
ALLOC_CACHE_ALIGN_BUFFER(struct dwmci_idmac, cur_idmac,
|
|
|
- data ? data->blocks : 0);
|
|
|
+ data ? DIV_ROUND_UP(data->blocks, 8) : 0);
|
|
|
int flags = 0, i;
|
|
|
unsigned int timeout = 100000;
|
|
|
u32 retry = 10000;
|