Author: sbruno Date: Thu Apr 6 19:13:40 2017 New Revision: 316588 URL: https://svnweb.freebsd.org/changeset/base/316588
Log: Direct commit of fixes to stable/10, resolving PCI passthrough and initialization issues when trying to passthrough a i340 (igb) to VMware. While here, cleanup some bits of em(4) to DTRT as well. PR: 218113 Submitted by: Kaho Toshikazu <k...@elam.kais.kyoto-u.ac.jp> Modified: stable/10/sys/dev/e1000/if_em.c stable/10/sys/dev/e1000/if_em.h stable/10/sys/dev/e1000/if_igb.c Modified: stable/10/sys/dev/e1000/if_em.c ============================================================================== --- stable/10/sys/dev/e1000/if_em.c Thu Apr 6 19:10:16 2017 (r316587) +++ stable/10/sys/dev/e1000/if_em.c Thu Apr 6 19:13:40 2017 (r316588) @@ -2846,7 +2846,7 @@ em_free_pci_resources(struct adapter *ad if (adapter->msix_mem != NULL) bus_release_resource(dev, SYS_RES_MEMORY, - PCIR_BAR(EM_MSIX_BAR), adapter->msix_mem); + adapter->memrid, adapter->msix_mem); if (adapter->memory != NULL) bus_release_resource(dev, SYS_RES_MEMORY, @@ -2880,9 +2880,9 @@ em_setup_msix(struct adapter *adapter) em_enable_vectors_82574(adapter); #endif /* Map the MSIX BAR */ - int rid = PCIR_BAR(EM_MSIX_BAR); + adapter->memrid = PCIR_BAR(EM_MSIX_BAR); adapter->msix_mem = bus_alloc_resource_any(dev, - SYS_RES_MEMORY, &rid, RF_ACTIVE); + SYS_RES_MEMORY, &adapter->memrid, RF_ACTIVE); if (adapter->msix_mem == NULL) { /* May not be enabled */ device_printf(adapter->dev, @@ -2933,7 +2933,7 @@ msix_one: msi: if (adapter->msix_mem != NULL) { bus_release_resource(dev, SYS_RES_MEMORY, - PCIR_BAR(EM_MSIX_BAR), adapter->msix_mem); + adapter->memrid, adapter->msix_mem); adapter->msix_mem = NULL; } val = 1; Modified: stable/10/sys/dev/e1000/if_em.h ============================================================================== --- stable/10/sys/dev/e1000/if_em.h Thu Apr 6 19:10:16 2017 (r316587) +++ stable/10/sys/dev/e1000/if_em.h Thu Apr 6 19:13:40 2017 (r316588) @@ -400,6 +400,7 @@ struct adapter { struct resource *memory; struct resource *flash; struct resource *msix_mem; + int memrid; struct resource *res; void *tag; Modified: stable/10/sys/dev/e1000/if_igb.c ============================================================================== --- stable/10/sys/dev/e1000/if_igb.c Thu Apr 6 19:10:16 2017 (r316587) +++ stable/10/sys/dev/e1000/if_igb.c Thu Apr 6 19:13:40 2017 (r316588) @@ -2806,7 +2806,7 @@ igb_setup_msix(struct adapter *adapter) msi: if (adapter->msix_mem != NULL) { bus_release_resource(dev, SYS_RES_MEMORY, - PCIR_BAR(IGB_MSIX_BAR), adapter->msix_mem); + adapter->memrid, adapter->msix_mem); adapter->msix_mem = NULL; } msgs = 1; _______________________________________________ svn-src-stable-10@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10 To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"