Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/sparc64/dev sun4v: vdsk - restart the ldc state mac...



details:   https://anonhg.NetBSD.org/src/rev/a91529e0514e
branches:  trunk
changeset: 379896:a91529e0514e
user:      palle <palle%NetBSD.org@localhost>
date:      Fri Jun 25 19:10:50 2021 +0000

description:
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.

diffstat:

 sys/arch/sparc64/dev/vdsk.c |  5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diffs (26 lines):

diff -r a4613251fc76 -r a91529e0514e sys/arch/sparc64/dev/vdsk.c
--- a/sys/arch/sparc64/dev/vdsk.c       Fri Jun 25 18:08:34 2021 +0000
+++ b/sys/arch/sparc64/dev/vdsk.c       Fri Jun 25 19:10:50 2021 +0000
@@ -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:



Home | Main Index | Thread Index | Old Index