Re: [PATCH 1/2] mmc: mmci: stm32: correctly check all elements of sg list

From: Ulf Hansson
Date: Mon Mar 28 2022 - 10:05:35 EST


On Thu, 17 Mar 2022 at 12:19, Yann Gautier <yann.gautier@xxxxxxxxxxx> wrote:
>
> Use sg and not data->sg when checking sg list elements. Else only the
> first element alignment is checked.
> The last element should be checked the same way, for_each_sg already set
> sg to sg_next(sg).
>
> Fixes: 46b723dd867d ("mmc: mmci: add stm32 sdmmc variant")
>
> Signed-off-by: Yann Gautier <yann.gautier@xxxxxxxxxxx>

This one, applied for fixes, thanks!

Kind regards
Uffe


> ---
> drivers/mmc/host/mmci_stm32_sdmmc.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/host/mmci_stm32_sdmmc.c b/drivers/mmc/host/mmci_stm32_sdmmc.c
> index 9c13f2c31365..4566d7fc9055 100644
> --- a/drivers/mmc/host/mmci_stm32_sdmmc.c
> +++ b/drivers/mmc/host/mmci_stm32_sdmmc.c
> @@ -62,8 +62,8 @@ static int sdmmc_idma_validate_data(struct mmci_host *host,
> * excepted the last element which has no constraint on idmasize
> */
> for_each_sg(data->sg, sg, data->sg_len - 1, i) {
> - if (!IS_ALIGNED(data->sg->offset, sizeof(u32)) ||
> - !IS_ALIGNED(data->sg->length, SDMMC_IDMA_BURST)) {
> + if (!IS_ALIGNED(sg->offset, sizeof(u32)) ||
> + !IS_ALIGNED(sg->length, SDMMC_IDMA_BURST)) {
> dev_err(mmc_dev(host->mmc),
> "unaligned scatterlist: ofst:%x length:%d\n",
> data->sg->offset, data->sg->length);
> @@ -71,7 +71,7 @@ static int sdmmc_idma_validate_data(struct mmci_host *host,
> }
> }
>
> - if (!IS_ALIGNED(data->sg->offset, sizeof(u32))) {
> + if (!IS_ALIGNED(sg->offset, sizeof(u32))) {
> dev_err(mmc_dev(host->mmc),
> "unaligned last scatterlist: ofst:%x length:%d\n",
> data->sg->offset, data->sg->length);
> --
> 2.25.1
>