common/mlx5: fix MAC addresses flush
[dpdk.git] / drivers / common / mlx5 / linux / mlx5_nl.c
index 2943704..0ecd9c7 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "mlx5_nl.h"
 #include "mlx5_common_utils.h"
+#include "mlx5_malloc.h"
 #ifdef HAVE_DEVLINK
 #include <linux/devlink.h>
 #endif
@@ -330,7 +331,7 @@ mlx5_nl_recv(int nlsk_fd, uint32_t sn, int (*cb)(struct nlmsghdr *, void *arg),
             void *arg)
 {
        struct sockaddr_nl sa;
-       void *buf = malloc(MLX5_RECV_BUF_SIZE);
+       void *buf = mlx5_malloc(0, MLX5_RECV_BUF_SIZE, 0, SOCKET_ID_ANY);
        struct iovec iov = {
                .iov_base = buf,
                .iov_len = MLX5_RECV_BUF_SIZE,
@@ -393,7 +394,7 @@ mlx5_nl_recv(int nlsk_fd, uint32_t sn, int (*cb)(struct nlmsghdr *, void *arg),
                }
        } while (multipart);
 exit:
-       free(buf);
+       mlx5_free(buf);
        return ret;
 }
 
@@ -789,7 +790,7 @@ mlx5_nl_mac_addr_flush(int nlsk_fd, unsigned int iface_idx,
 {
        int i;
 
-       if (n <= 0 || n >= MLX5_MAX_MAC_ADDRESSES)
+       if (n <= 0 || n > MLX5_MAX_MAC_ADDRESSES)
                return;
 
        for (i = n - 1; i >= 0; --i) {
@@ -1145,6 +1146,8 @@ mlx5_nl_check_switch_info(bool num_vf_set,
                /* Legacy representors naming schema. */
                switch_info->representor = !num_vf_set;
                break;
+       case MLX5_PHYS_PORT_NAME_TYPE_PFHPF:
+               /* Fallthrough */
        case MLX5_PHYS_PORT_NAME_TYPE_PFVF:
                /* New representors naming schema. */
                switch_info->representor = 1;