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)
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to