net/bonding: fix leak on remove
[dpdk.git] / drivers / net / atlantic / atl_ethdev.c
index b071677..ce7f814 100644 (file)
@@ -3,7 +3,7 @@
  */
 
 #include <rte_string_fns.h>
-#include <rte_ethdev_pci.h>
+#include <ethdev_pci.h>
 #include <rte_alarm.h>
 
 #include "atl_ethdev.h"
@@ -1073,7 +1073,7 @@ atl_fw_version_get(struct rte_eth_dev *dev, char *fw_version, size_t fw_size)
 {
        struct aq_hw_s *hw = ATL_DEV_PRIVATE_TO_HW(dev->data->dev_private);
        uint32_t fw_ver = 0;
-       unsigned int ret = 0;
+       int ret = 0;
 
        ret = hw_atl_utils_get_fw_version(hw, &fw_ver);
        if (ret)
@@ -1081,10 +1081,11 @@ atl_fw_version_get(struct rte_eth_dev *dev, char *fw_version, size_t fw_size)
 
        ret = snprintf(fw_version, fw_size, "%u.%u.%u", fw_ver >> 24,
                       (fw_ver >> 16) & 0xFFU, fw_ver & 0xFFFFU);
+       if (ret < 0)
+               return -EINVAL;
 
        ret += 1; /* add string null-terminator */
-
-       if (fw_size < ret)
+       if (fw_size < (size_t)ret)
                return ret;
 
        return 0;