svn commit: r304401 - stable/10/sys/dev/ntb/ntb_hw

Alexander Motin mav at FreeBSD.org
Thu Aug 18 10:54:23 UTC 2016


Author: mav
Date: Thu Aug 18 10:54:21 2016
New Revision: 304401
URL: https://svnweb.freebsd.org/changeset/base/304401

Log:
  MFC r303266: Postpone ntb_get_msix_info() till we need to negotiate MSIX.
  
  Calling it earlier increases the window when MSIX info may change.
  This change does not solve the problem completely, but seems logical.
  Complete solution should probably include link reset in case of MSIX
  remap to trigger new negotiation, but we have no way to get notified
  about that now.

Modified:
  stable/10/sys/dev/ntb/ntb_hw/ntb_hw.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/ntb/ntb_hw/ntb_hw.c
==============================================================================
--- stable/10/sys/dev/ntb/ntb_hw/ntb_hw.c	Thu Aug 18 10:53:44 2016	(r304400)
+++ stable/10/sys/dev/ntb/ntb_hw/ntb_hw.c	Thu Aug 18 10:54:21 2016	(r304401)
@@ -1099,8 +1099,6 @@ ntb_init_isr(struct ntb_softc *ntb)
 
 		ntb_create_msix_vec(ntb, num_vectors);
 		rc = ntb_setup_msix(ntb, num_vectors);
-		if (rc == 0 && HAS_FEATURE(ntb, NTB_SB01BASE_LOCKUP))
-			ntb_get_msix_info(ntb);
 	}
 	if (rc != 0) {
 		device_printf(ntb->device,
@@ -2735,6 +2733,7 @@ ntb_exchange_msix(void *ctx)
 	if (ntb->peer_msix_done)
 		goto msix_done;
 
+	ntb_get_msix_info(ntb);
 	for (i = 0; i < XEON_NONLINK_DB_MSIX_BITS; i++) {
 		ntb_peer_spad_write(ntb->device, NTB_MSIX_DATA0 + i,
 		    ntb->msix_data[i].nmd_data);


More information about the svn-src-stable-10 mailing list