Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Apr 2011 20:08:44 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r221138 - head/sys/dev/pci
Message-ID:  <201104272008.p3RK8itg087595@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Wed Apr 27 20:08:44 2011
New Revision: 221138
URL: http://svn.freebsd.org/changeset/base/221138

Log:
  Only align MSI message groups based on the number of messages being
  allocated, not the maximum number of messages the device supports.  The
  spec only requires the former, and I believe I implemented the latter due
  to misunderstanding an e-mail.  In particular, this fixes an issue where
  having several devices that all support 16 messages can run out of
  IDT vectors on x86 even though the driver only uses a single message.
  
  Submitted by:	Bret Ketchum  bcketchum of gmail
  MFC after:	1 week

Modified:
  head/sys/dev/pci/pci.c

Modified: head/sys/dev/pci/pci.c
==============================================================================
--- head/sys/dev/pci/pci.c	Wed Apr 27 19:54:45 2011	(r221137)
+++ head/sys/dev/pci/pci.c	Wed Apr 27 20:08:44 2011	(r221138)
@@ -1969,7 +1969,7 @@ pci_alloc_msi_method(device_t dev, devic
 	for (;;) {
 		/* Try to allocate N messages. */
 		error = PCIB_ALLOC_MSI(device_get_parent(dev), child, actual,
-		    cfg->msi.msi_msgnum, irqs);
+		    actual, irqs);
 		if (error == 0)
 			break;
 		if (actual == 1)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104272008.p3RK8itg087595>