net/mlx5: add missing return value check
authorAli Alnubani <alialnu@mellanox.com>
Thu, 21 Mar 2019 09:07:26 +0000 (09:07 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 29 Mar 2019 16:25:32 +0000 (17:25 +0100)
This patch fixes the build failure with message:
  drivers/net/mlx5/mlx5_ethdev.c: In function ‘mlx5_sysfs_switch_info’:
  drivers/net/mlx5/mlx5_ethdev.c:1381:3:
    error: ignoring return value of ‘fscanf’, declared with attribute
           warn_unused_result [-Werror=unused-result]
  fscanf(file, "%s", port_name);
    ^

Which reproduces on Ubuntu 16.04 LTS with
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609.

Fixes: b2f3a3810125 ("net/mlx5: support new representor naming format")

Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>
Acked-by: Dekel Peled <dekelp@mellanox.com>
drivers/net/mlx5/mlx5_ethdev.c

index 84d761c..2e8a296 100644 (file)
@@ -1365,6 +1365,7 @@ mlx5_sysfs_switch_info(unsigned int ifindex, struct mlx5_switch_info *info)
        bool port_name_set = false;
        bool port_switch_id_set = false;
        char c;
+       int ret;
 
        if (!if_indextoname(ifindex, ifname)) {
                rte_errno = errno;
@@ -1378,9 +1379,11 @@ mlx5_sysfs_switch_info(unsigned int ifindex, struct mlx5_switch_info *info)
 
        file = fopen(phys_port_name, "rb");
        if (file != NULL) {
-               fscanf(file, "%s", port_name);
+               ret = fscanf(file, "%s", port_name);
                fclose(file);
-               port_name_set = mlx5_translate_port_name(port_name, &data);
+               if (ret == 1)
+                       port_name_set = mlx5_translate_port_name(port_name,
+                                                                &data);
        }
        file = fopen(phys_switch_id, "rb");
        if (file == NULL) {