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))