Author: jhb
Date: Mon Jun 22 20:08:06 2009
New Revision: 194644
URL: http://svn.freebsd.org/changeset/base/194644

Log:
  Enable MSI in the MSI capability registers any time that the first message
  in an MSI group is enabled, not just if the address/data pair are not
  initialized.
  
  Reported by:  rnoland
  MFC after:    1 week

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

Modified: head/sys/dev/pci/pci.c
==============================================================================
--- head/sys/dev/pci/pci.c      Mon Jun 22 19:35:39 2009        (r194643)
+++ head/sys/dev/pci/pci.c      Mon Jun 22 20:08:06 2009        (r194644)
@@ -2883,8 +2883,10 @@ pci_setup_intr(device_t dev, device_t ch
                                        goto bad;
                                dinfo->cfg.msi.msi_addr = addr;
                                dinfo->cfg.msi.msi_data = data;
-                               pci_enable_msi(child, addr, data);
                        }
+                       if (dinfo->cfg.msi.msi_handlers == 0)
+                               pci_enable_msi(child, dinfo->cfg.msi.msi_addr,
+                                   dinfo->cfg.msi.msi_data);
                        dinfo->cfg.msi.msi_handlers++;
                } else {
                        KASSERT(dinfo->cfg.msix.msix_alloc > 0,
_______________________________________________
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