On Tue, 27 Jun 2023 at 14:06, Sergei Antonov <saproj@xxxxxxxxx> wrote: > > Conversion from big-endian to native is done in a common function > mmc_app_send_scr(). Converting in moxart_transfer_pio() is extra. > Double conversion on a LE system returns an incorrect SCR value, > leads to errors: > > mmc0: unrecognised SCR structure version 8 > > Fixes: 1b66e94e6b99 ("mmc: moxart: Add MOXA ART SD/MMC driver") > Signed-off-by: Sergei Antonov <saproj@xxxxxxxxx> > Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx Applied for fixes, thanks! Kind regards Uffe > --- > drivers/mmc/host/moxart-mmc.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/mmc/host/moxart-mmc.c b/drivers/mmc/host/moxart-mmc.c > index 2d002c81dcf3..d0d6ffcf78d4 100644 > --- a/drivers/mmc/host/moxart-mmc.c > +++ b/drivers/mmc/host/moxart-mmc.c > @@ -338,13 +338,7 @@ static void moxart_transfer_pio(struct moxart_host *host) > return; > } > for (len = 0; len < remain && len < host->fifo_width;) { > - /* SCR data must be read in big endian. */ > - if (data->mrq->cmd->opcode == SD_APP_SEND_SCR) > - *sgp = ioread32be(host->base + > - REG_DATA_WINDOW); > - else > - *sgp = ioread32(host->base + > - REG_DATA_WINDOW); > + *sgp = ioread32(host->base + REG_DATA_WINDOW); > sgp++; > len += 4; > } > -- > 2.37.2 >