Index: sys/arch/arm/sunxi/sunxi_mmc.c =================================================================== RCS file: /cvsroot/src/sys/arch/arm/sunxi/sunxi_mmc.c,v retrieving revision 1.48 diff -p -u -r1.48 sunxi_mmc.c --- sys/arch/arm/sunxi/sunxi_mmc.c 7 Aug 2021 16:18:45 -0000 1.48 +++ sys/arch/arm/sunxi/sunxi_mmc.c 10 Dec 2025 07:43:59 -0000 @@ -1160,7 +1160,7 @@ sunxi_mmc_exec_command(sdmmc_chipset_han if (nblks == 0 || (cmd->c_datalen % cmd->c_blklen) != 0) ++nblks; - if (nblks > 1) { + if (nblks > 1 && !ISSET(cmd->c_flags, SCF_NO_STOP)) { cmdval |= SUNXI_MMC_CMD_SEND_AUTO_STOP; imask |= SUNXI_MMC_INT_AUTO_CMD_DONE; } else { Index: sys/dev/ic/dwc_mmc.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/dwc_mmc.c,v retrieving revision 1.31 diff -p -u -r1.31 dwc_mmc.c --- sys/dev/ic/dwc_mmc.c 9 Feb 2024 17:16:42 -0000 1.31 +++ sys/dev/ic/dwc_mmc.c 10 Dec 2025 07:44:00 -0000 @@ -668,7 +668,7 @@ dwc_mmc_exec_command(sdmmc_chipset_handl if (nblks == 0 || (cmd->c_datalen % cmd->c_blklen) != 0) ++nblks; - if (nblks > 1 && cmd->c_opcode != SD_IO_RW_EXTENDED) { + if (nblks > 1 && !ISSET(cmd->c_flags, SCF_NO_STOP)) { cmdval |= DWC_MMC_CMD_SEND_AUTO_STOP; imask |= DWC_MMC_INT_AUTO_CMD_DONE; } else { Index: sys/dev/sdmmc/sdhc.c =================================================================== RCS file: /cvsroot/src/sys/dev/sdmmc/sdhc.c,v retrieving revision 1.123 diff -p -u -r1.123 sdhc.c --- sys/dev/sdmmc/sdhc.c 6 Dec 2025 16:00:23 -0000 1.123 +++ sys/dev/sdmmc/sdhc.c 10 Dec 2025 07:44:00 -0000 @@ -43,7 +43,6 @@ __KERNEL_RCSID(0, "$NetBSD: sdhc.c,v 1.1 #include #include #include -#include #ifdef SDHC_DEBUG int sdhcdebug = 1; @@ -1753,8 +1752,7 @@ sdhc_start_command(struct sdhc_host *hp, mode |= SDHC_BLOCK_COUNT_ENABLE; if (blkcount > 1) { mode |= SDHC_MULTI_BLOCK_MODE; - if (cmd->c_opcode != SD_IO_RW_EXTENDED - && !ISSET(sc->sc_flags, SDHC_FLAG_NO_AUTO_STOP) + if (!ISSET(sc->sc_flags, SDHC_FLAG_NO_AUTO_STOP) && !ISSET(cmd->c_flags, SCF_NO_STOP)) mode |= SDHC_AUTO_CMD12_ENABLE; } Index: sys/dev/sdmmc/sdmmc_io.c =================================================================== RCS file: /cvsroot/src/sys/dev/sdmmc/sdmmc_io.c,v retrieving revision 1.22 diff -p -u -r1.22 sdmmc_io.c --- sys/dev/sdmmc/sdmmc_io.c 6 Dec 2025 16:03:39 -0000 1.22 +++ sys/dev/sdmmc/sdmmc_io.c 10 Dec 2025 07:44:00 -0000 @@ -414,7 +414,7 @@ sdmmc_io_rw_extended(struct sdmmc_softc memset(&cmd, 0, sizeof cmd); cmd.c_opcode = SD_IO_RW_EXTENDED; cmd.c_arg = arg; - cmd.c_flags = SCF_CMD_ADTC | SCF_RSP_R5; + cmd.c_flags = SCF_CMD_ADTC | SCF_RSP_R5 | SCF_NO_STOP; cmd.c_data = datap; if (ISSET(arg, SD_ARG_CMD53_BLOCK_MODE)) { cmd.c_datalen = len * sf->blklen;