Module Name:    src
Committed By:   jdolecek
Date:           Tue Sep 20 21:18:08 UTC 2016

Modified Files:
        src/sys/dev/ic: ld_nvme.c nvme.c

Log Message:
cache flush call must wait for completion; cap wait to 60 seconds just in case
controller won't respond


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/dev/ic/ld_nvme.c
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/ic/nvme.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/ic/ld_nvme.c
diff -u src/sys/dev/ic/ld_nvme.c:1.6 src/sys/dev/ic/ld_nvme.c:1.7
--- src/sys/dev/ic/ld_nvme.c:1.6	Mon Sep 19 20:33:51 2016
+++ src/sys/dev/ic/ld_nvme.c	Tue Sep 20 21:18:08 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: ld_nvme.c,v 1.6 2016/09/19 20:33:51 jdolecek Exp $	*/
+/*	$NetBSD: ld_nvme.c,v 1.7 2016/09/20 21:18:08 jdolecek Exp $	*/
 
 /*-
  * Copyright (C) 2016 NONAKA Kimihiro <non...@netbsd.org>
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ld_nvme.c,v 1.6 2016/09/19 20:33:51 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ld_nvme.c,v 1.7 2016/09/20 21:18:08 jdolecek Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -181,9 +181,9 @@ ld_nvme_flush(struct ld_softc *ld, int f
 {
 	struct ld_nvme_softc *sc = device_private(ld->sc_dv);
 
+	/* wait for the sync to finish */
 	return nvme_ns_sync(sc->sc_nvme, sc->sc_nsid, sc,
-	    (flags & LDFL_POLL) ? NVME_NS_CTX_F_POLL : 0,
-	    ld_nvme_syncdone);
+	    NVME_NS_CTX_F_POLL, ld_nvme_syncdone);
 }
 
 static void

Index: src/sys/dev/ic/nvme.c
diff -u src/sys/dev/ic/nvme.c:1.12 src/sys/dev/ic/nvme.c:1.13
--- src/sys/dev/ic/nvme.c:1.12	Mon Sep 19 22:11:41 2016
+++ src/sys/dev/ic/nvme.c	Tue Sep 20 21:18:08 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: nvme.c,v 1.12 2016/09/19 22:11:41 jdolecek Exp $	*/
+/*	$NetBSD: nvme.c,v 1.13 2016/09/20 21:18:08 jdolecek Exp $	*/
 /*	$OpenBSD: nvme.c,v 1.49 2016/04/18 05:59:50 dlg Exp $ */
 
 /*
@@ -18,7 +18,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nvme.c,v 1.12 2016/09/19 22:11:41 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nvme.c,v 1.13 2016/09/20 21:18:08 jdolecek Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -108,7 +108,7 @@ static int	nvme_command_passthrough(stru
 #define NVME_TIMO_QOP		5	/* queue create and delete timeout */
 #define NVME_TIMO_IDENT		10	/* probe identify timeout */
 #define NVME_TIMO_PT		-1	/* passthrough cmd timeout */
-#define NVME_TIMO_SY		-1	/* sync cache timeout */
+#define NVME_TIMO_SY		60	/* sync cache timeout */
 
 #define nvme_read4(_s, _r) \
 	bus_space_read_4((_s)->sc_iot, (_s)->sc_ioh, (_r))

Reply via email to