Hello community,

here is the log from the commit of package pciutils for openSUSE:Leap:15.2 
checked in at 2020-06-08 13:44:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/pciutils (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.pciutils.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pciutils"

Mon Jun  8 13:44:18 2020 rev:17 rq:811815 version:3.5.6

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/pciutils/pciutils.changes      2020-01-15 
15:39:28.791113813 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.pciutils.new.3606/pciutils.changes    
2020-06-08 13:44:18.803015700 +0200
@@ -1,0 +2,9 @@
+Thu May 21 15:27:52 UTC 2020 - Michal Suchanek <[email protected]>
+
+- Fix lspci outputs few of the VPD data fields are displayed as unknown 
(bsc#1170554, ltc#185587).
+  Added:
+   * pciutils-VPD-When-printing-item-IDs-escape-non-ASCII-characte.patch
+   * pciutils-VPD-Cleanup.patch
+   * pciutils-Add-decoding-of-vendor-specific-VPD-fields.patch
+
+-------------------------------------------------------------------

New:
----
  pciutils-Add-decoding-of-vendor-specific-VPD-fields.patch
  pciutils-VPD-Cleanup.patch
  pciutils-VPD-When-printing-item-IDs-escape-non-ASCII-characte.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pciutils.spec ++++++
--- /var/tmp/diff_new_pack.Lcb92N/_old  2020-06-08 13:44:19.171016780 +0200
+++ /var/tmp/diff_new_pack.Lcb92N/_new  2020-06-08 13:44:19.175016791 +0200
@@ -31,6 +31,9 @@
 Patch1:         pciutils-3.1.9_pkgconfig.patch
 Patch2:         pciutils-ocloexec.patch
 Patch3:         pciutils-endianh.patch
+Patch4:         
pciutils-VPD-When-printing-item-IDs-escape-non-ASCII-characte.patch
+Patch5:         pciutils-Add-decoding-of-vendor-specific-VPD-fields.patch
+Patch6:         pciutils-VPD-Cleanup.patch
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(libkmod)
 BuildRequires:  pkgconfig(zlib)
@@ -65,10 +68,7 @@
 
 %prep
 %setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%autopatch -p1
 
 %build
 make %{?_smp_mflags} OPT="%{optflags}" PREFIX=%{_prefix} LIBDIR=/%{_lib} 
SBINDIR=/sbin STRIP="" SHARED="yes"


++++++ pciutils-Add-decoding-of-vendor-specific-VPD-fields.patch ++++++
>From eff7cc9ee7f8b6efeb7d5854abbcfb8cdc486a95 Mon Sep 17 00:00:00 2001
From: "return.0" <[email protected]>
Date: Mon, 18 Jun 2018 17:00:31 -0500
Subject: [PATCH] pciutils: Add decoding of vendor specific VPD fields

References: bsc#1170554 ltc#185587
Upstream: v3.6.0
Git-commit: eff7cc9ee7f8b6efeb7d5854abbcfb8cdc486a95

IBM has defined several VPD fields that are not part of the PCI
spec, but are frequently used on embedded and pluggable pcie
adapters.

Since these fields are "Unknown", they are listed in hex
and less readable.

This patch adds commonly used vendor specific VPD keywords
described in "Table 160. LoPAPR VPD Fields" of the Linux on Power
Architecture Platform Reference (LoPAPR).

Signed-off-by: John Walthour <[email protected]>
---
 ls-vpd.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/ls-vpd.c b/ls-vpd.c
index b79abfc..cc279c3 100644
--- a/ls-vpd.c
+++ b/ls-vpd.c
@@ -41,6 +41,19 @@ static const struct vpd_item {
   { 'Y','A', F_TEXT,   "Asset tag" },
   { 'V', 0 , F_TEXT,   "Vendor specific" },
   { 'Y', 0 , F_TEXT,   "System specific" },
+/*
+ *  The following VPD keywords are vendor specific or not part of any
+ *  current PCI-SIG specification
+ */
+  { 'C','C', F_TEXT,   "CCIN" },
+  { 'F','C', F_TEXT,   "Feature code" },
+  { 'F','N', F_TEXT,   "FRU" },
+  { 'N','A', F_TEXT,   "Network address" },
+  { 'R','M', F_TEXT,   "Firmware version" },
+  { 'Z', 0 , F_TEXT,   "Product specific" },
+/*
+ *  End vendor specific VPD keywords
+ */
   {  0,  0 , F_BINARY, "Unknown" }
 };
 
-- 
2.26.2

++++++ pciutils-VPD-Cleanup.patch ++++++
>From d9b702cde8550b245defa130f3d93a5b34ae68d7 Mon Sep 17 00:00:00 2001
From: Martin Mares <[email protected]>
Date: Tue, 19 Jun 2018 11:44:42 +0200
Subject: [PATCH] VPD: Cleanup

References: bsc#1170554 ltc#185587
Upstream: v3.6.0
Git-commit: d9b702cde8550b245defa130f3d93a5b34ae68d7

---
 ls-vpd.c | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/ls-vpd.c b/ls-vpd.c
index cc279c3..37217f0 100644
--- a/ls-vpd.c
+++ b/ls-vpd.c
@@ -41,19 +41,13 @@ static const struct vpd_item {
   { 'Y','A', F_TEXT,   "Asset tag" },
   { 'V', 0 , F_TEXT,   "Vendor specific" },
   { 'Y', 0 , F_TEXT,   "System specific" },
-/*
- *  The following VPD keywords are vendor specific or not part of any
- *  current PCI-SIG specification
- */
-  { 'C','C', F_TEXT,   "CCIN" },
-  { 'F','C', F_TEXT,   "Feature code" },
-  { 'F','N', F_TEXT,   "FRU" },
-  { 'N','A', F_TEXT,   "Network address" },
-  { 'R','M', F_TEXT,   "Firmware version" },
-  { 'Z', 0 , F_TEXT,   "Product specific" },
-/*
- *  End vendor specific VPD keywords
- */
+  /* Non-standard extensions */
+  { 'C','C', F_TEXT,   "CCIN" },
+  { 'F','C', F_TEXT,   "Feature code" },
+  { 'F','N', F_TEXT,   "FRU" },
+  { 'N','A', F_TEXT,   "Network address" },
+  { 'R','M', F_TEXT,   "Firmware version" },
+  { 'Z', 0 , F_TEXT,   "Product specific" },
   {  0,  0 , F_BINARY, "Unknown" }
 };
 
-- 
2.26.2

++++++ pciutils-VPD-When-printing-item-IDs-escape-non-ASCII-characte.patch 
++++++
>From 726b641b0dd842b920f7e1c985cb4a22494fe466 Mon Sep 17 00:00:00 2001
From: Martin Mares <[email protected]>
Date: Sat, 25 Jan 2020 20:42:03 +0100
Subject: [PATCH] VPD: When printing item IDs, escape non-ASCII characters

References: bsc#1170554 ltc#185587
Upstream: v3.6.4
Git-commit: 726b641b0dd842b920f7e1c985cb4a22494fe466

---
 ls-vpd.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/ls-vpd.c b/ls-vpd.c
index 37217f0..92627e4 100644
--- a/ls-vpd.c
+++ b/ls-vpd.c
@@ -10,6 +10,7 @@
  */
 
 #include <stdio.h>
+#include <string.h>
 
 #include "lspci.h"
 
@@ -156,13 +157,14 @@ cap_vpd(struct device *d)
            {
              word read_len;
              const struct vpd_item *item;
-             byte id1, id2;
+             byte id[2], id1, id2;
 
              if (!read_vpd(d, res_addr + part_pos, buf, 3, &csum))
                break;
              part_pos += 3;
-             id1 = buf[0];
-             id2 = buf[1];
+             memcpy(id, buf, 2);
+             id1 = id[0];
+             id2 = id[1];
              part_len = buf[2];
              if (part_len > res_len - part_pos)
                break;
@@ -178,7 +180,9 @@ cap_vpd(struct device *d)
              if (!read_vpd(d, res_addr + part_pos, buf, read_len, &csum))
                break;
 
-             printf("\t\t\t[%c%c] %s: ", id1, id2, item->name);
+             printf("\t\t\t[");
+             print_vpd_string(id, 2);
+             printf("] %s: ", item->name);
 
              switch (item->format)
                {
-- 
2.26.2


Reply via email to