diff -u lshw-02.16/debian/changelog lshw-02.16/debian/changelog --- lshw-02.16/debian/changelog +++ lshw-02.16/debian/changelog @@ -1,3 +1,9 @@ +lshw (02.16-2ubuntu1.2) trusty-proposed; urgency=medium + + * Support multiple NICs sharing the same PCI function (LP: #1379591) + + -- dann frazier Tue, 28 Oct 2014 09:08:51 -0600 + lshw (02.16-2ubuntu1.1) trusty-proposed; urgency=medium * Fix endianness issues with device-tree (LP: #1308760) diff -u lshw-02.16/debian/patches/series lshw-02.16/debian/patches/series --- lshw-02.16/debian/patches/series +++ lshw-02.16/debian/patches/series @@ -17,0 +18 @@ +Do-not-brutally-merge-NICs-in-the-same-PCI-function-.patch only in patch2: unchanged: --- lshw-02.16.orig/debian/patches/Do-not-brutally-merge-NICs-in-the-same-PCI-function-.patch +++ lshw-02.16/debian/patches/Do-not-brutally-merge-NICs-in-the-same-PCI-function-.patch @@ -0,0 +1,32 @@ +Description: Do not brutally merge NICs in the same PCI function +Bug: http://www.ezix.org/project/ticket/665 +Bug-Debian: https://bugs.debian.org/767023 +Bug-Ubuntu: http://bugs.launchpad.net/bugs/1379591 +Author: dann frazier +Last-Update: 2014-10-27 +Applied-Upstream: svn://ezix.org/source/packages/lshw/development@2552 + +Index: lshw-02.16/src/core/network.cc +=================================================================== +--- lshw-02.16.orig/src/core/network.cc ++++ lshw-02.16/src/core/network.cc +@@ -314,6 +314,7 @@ bool scan_network(hwNode & n) + + for (unsigned int i = 0; i < interfaces.size(); i++) + { ++ hwNode *existing; + hwNode interface("network", + hw::network); + +@@ -511,7 +512,10 @@ bool scan_network(hwNode & n) + if(sysfs::entry::byClass("net", interface.getLogicalName()).hassubdir("bridge")) + interface.addCapability("logical", _("Logical interface")); + +- if (hwNode * existing = n.findChildByBusInfo(interface.getBusInfo())) ++ existing = n.findChildByBusInfo(interface.getBusInfo()); ++ // Multiple NICs can exist on one PCI function. ++ // Only merge if MACs also match. ++ if (existing && (existing->getSerial() == "" || interface.getSerial() == existing->getSerial())) + { + existing->merge(interface); + if(interface.getDescription()!="")