svn commit: r344132 - head/sys/dev/ixl

Eric Joyner erj at FreeBSD.org
Thu Feb 14 18:02:38 UTC 2019


Author: erj
Date: Thu Feb 14 18:02:37 2019
New Revision: 344132
URL: https://svnweb.freebsd.org/changeset/base/344132

Log:
  ixl: Fix panic caused by bug exposed by r344062
  
  Don't use a struct if_irq for IFLIB_INTR_IOV type interrupts since that results
  in get_core_offset() being called on them, and get_core_offset() doesn't
  handle IFLIB_INTR_IOV type interrupts, which results in an assert() being triggered
  in iflib_irq_set_affinity().
  
  PR:		235730
  Reported by:	Jeffrey Pieper <jeffrey.e.pieper at intel.com>
  MFC after:	1 day
  Sponsored by:	Intel Corporation

Modified:
  head/sys/dev/ixl/if_ixl.c
  head/sys/dev/ixl/ixl_pf.h

Modified: head/sys/dev/ixl/if_ixl.c
==============================================================================
--- head/sys/dev/ixl/if_ixl.c	Thu Feb 14 18:01:06 2019	(r344131)
+++ head/sys/dev/ixl/if_ixl.c	Thu Feb 14 18:02:37 2019	(r344132)
@@ -932,7 +932,7 @@ ixl_if_msix_intr_assign(if_ctx_t ctx, int msix)
 		return (err);
 	}
 	/* Create soft IRQ for handling VFLRs */
-	iflib_softirq_alloc_generic(ctx, &pf->iov_irq, IFLIB_INTR_IOV, pf, 0, "iov");
+	iflib_softirq_alloc_generic(ctx, NULL, IFLIB_INTR_IOV, pf, 0, "iov");
 
 	/* Now set up the stations */
 	for (i = 0, vector = 1; i < vsi->shared->isc_nrxqsets; i++, vector++, rx_que++) {

Modified: head/sys/dev/ixl/ixl_pf.h
==============================================================================
--- head/sys/dev/ixl/ixl_pf.h	Thu Feb 14 18:01:06 2019	(r344131)
+++ head/sys/dev/ixl/ixl_pf.h	Thu Feb 14 18:02:37 2019	(r344132)
@@ -138,7 +138,6 @@ struct ixl_pf {
 	struct ixl_vf		*vfs;
 	int			num_vfs;
 	uint16_t		veb_seid;
-	struct if_irq		iov_irq;
 };
 
 /*


More information about the svn-src-head mailing list