From: Hans Wippel <hwip...@linux.ibm.com>

Pnetids are retrieved from the underlying hardware as EBCDIC. This patch
converts pnetids to ASCII.

Signed-off-by: Hans Wippel <hwip...@linux.ibm.com>
Signed-off-by: Ursula Braun <ubr...@linux.ibm.com>
---
 arch/s390/net/pnet.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/s390/net/pnet.c b/arch/s390/net/pnet.c
index 9ecdbdf59781..79211bec0fc8 100644
--- a/arch/s390/net/pnet.c
+++ b/arch/s390/net/pnet.c
@@ -12,6 +12,7 @@
 #include <asm/ccwgroup.h>
 #include <asm/ccwdev.h>
 #include <asm/pnet.h>
+#include <asm/ebcdic.h>
 
 #define PNETIDS_LEN            64      /* Total utility string length in bytes
                                         * to cover up to 4 PNETIDs of 16 bytes
@@ -48,6 +49,7 @@ static int pnet_ids_by_device(struct device *dev, u8 *pnetids)
                if (!util_str)
                        return -ENOMEM;
                memcpy(pnetids, util_str, PNETIDS_LEN);
+               EBCASC(pnetids, PNETIDS_LEN);
                kfree(util_str);
                return 0;
        }
@@ -55,6 +57,7 @@ static int pnet_ids_by_device(struct device *dev, u8 *pnetids)
                struct zpci_dev *zdev = to_zpci(to_pci_dev(dev));
 
                memcpy(pnetids, zdev->util_str, sizeof(zdev->util_str));
+               EBCASC(pnetids, sizeof(zdev->util_str));
                return 0;
        }
        return -EOPNOTSUPP;
-- 
2.16.4

Reply via email to