@@ -665,8 +665,10 @@ static void tmio_mmc_start_dma_rx(struct tmio_mmc_host *host)
}
if ((!aligned && (host->sg_len > 1 || sg->length > PAGE_CACHE_SIZE ||
- align >= MAX_ALIGN)) || !multiple)
+ align >= MAX_ALIGN)) || !multiple) {
+ ret = -EINVAL;
goto pio;
+ }
/* The only sg element can be unaligned, use our bounce buffer then */
if (!aligned) {
@@ -741,8 +743,10 @@ static void tmio_mmc_start_dma_tx(struct tmio_mmc_host *host)
}
if ((!aligned && (host->sg_len > 1 || sg->length > PAGE_CACHE_SIZE ||
- align >= MAX_ALIGN)) || !multiple)
+ align >= MAX_ALIGN)) || !multiple) {
+ ret = -EINVAL;
goto pio;
+ }
/* The only sg element can be unaligned, use our bounce buffer then */
if (!aligned) {