Module Name:    src
Committed By:   mlelstv
Date:           Tue Nov  3 07:59:29 UTC 2015

Modified Files:
        src/sys/dev/sdmmc: sdhc.c

Log Message:
Also wait for DAT when sending RSP_BSY commands. Fixes PR 50388.


To generate a diff of this commit:
cvs rdiff -u -r1.90 -r1.91 src/sys/dev/sdmmc/sdhc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/sdmmc/sdhc.c
diff -u src/sys/dev/sdmmc/sdhc.c:1.90 src/sys/dev/sdmmc/sdhc.c:1.91
--- src/sys/dev/sdmmc/sdhc.c:1.90	Tue Nov  3 06:49:39 2015
+++ src/sys/dev/sdmmc/sdhc.c	Tue Nov  3 07:59:29 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: sdhc.c,v 1.90 2015/11/03 06:49:39 mlelstv Exp $	*/
+/*	$NetBSD: sdhc.c,v 1.91 2015/11/03 07:59:29 mlelstv Exp $	*/
 /*	$OpenBSD: sdhc.c,v 1.25 2009/01/13 19:44:20 grange Exp $	*/
 
 /*
@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sdhc.c,v 1.90 2015/11/03 06:49:39 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sdhc.c,v 1.91 2015/11/03 07:59:29 mlelstv Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_sdmmc.h"
@@ -1596,7 +1596,7 @@ sdhc_start_command(struct sdhc_host *hp,
 
 	/* Wait until command and optionally data inhibit bits are clear. (1.5) */
 	pmask = SDHC_CMD_INHIBIT_CMD;
-	if (cmd->c_flags & SCF_CMD_ADTC)
+	if (cmd->c_flags & (SCF_CMD_ADTC|SCF_RSP_BSY))
 		pmask |= SDHC_CMD_INHIBIT_DAT;
 	error = sdhc_wait_state(hp, pmask, 0);
 	if (error) {

Reply via email to