Module Name: src
Committed By: palle
Date: Fri Jun 25 19:10:50 UTC 2021
Modified Files:
src/sys/arch/sparc64/dev: vdsk.c
Log Message:
sun4v: vdsk - restart the ldc state machine when the ldc endpoint resets the
link or a DATA/NACK/DRING_DATA message is received. These changes make the
driver more robust. In a ldom with Solaris 11.4 SRU30 as primary domain (T5
host system) frequent resets and NACK messages are observed.
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/sparc64/dev/vdsk.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/arch/sparc64/dev/vdsk.c
diff -u src/sys/arch/sparc64/dev/vdsk.c:1.6 src/sys/arch/sparc64/dev/vdsk.c:1.7
--- src/sys/arch/sparc64/dev/vdsk.c:1.6 Sat Apr 24 23:36:49 2021
+++ src/sys/arch/sparc64/dev/vdsk.c Fri Jun 25 19:10:50 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: vdsk.c,v 1.6 2021/04/24 23:36:49 thorpej Exp $ */
+/* $NetBSD: vdsk.c,v 1.7 2021/06/25 19:10:50 palle Exp $ */
/* $OpenBSD: vdsk.c,v 1.46 2015/01/25 21:42:13 kettenis Exp $ */
/*
* Copyright (c) 2009, 2011 Mark Kettenis
@@ -492,6 +492,7 @@ vdsk_rx_intr(void *arg)
break;
case LDC_CHANNEL_RESET:
DPRINTF(("Rx link reset\n"));
+ ldc_send_vers(lc);
break;
}
lc->lc_rx_state = rx_state;
@@ -773,6 +774,8 @@ vdsk_rx_vio_dring_data(struct vdsk_softc
case VIO_SUBTYPE_NACK:
DPRINTF(("DATA/NACK/DRING_DATA\n"));
+ struct ldc_conn *lc = &sc->sc_lc;
+ ldc_send_vers(lc);
break;
default: