diff options
author | Or Gerlitz <ogerlitz@mellanox.com> | 2016-12-11 11:15:08 +0100 |
---|---|---|
committer | Saeed Mahameed <saeedm@mellanox.com> | 2017-01-24 20:13:57 +0100 |
commit | 073ff3c8e6acdd6bae91a037e6f2d0edeed4165d (patch) | |
tree | 229fae07bd324991c968e6751ce6ee1e9618c192 /drivers/net | |
parent | Introduce a sysctl that modifies the value of PROT_SOCK. (diff) | |
download | linux-073ff3c8e6acdd6bae91a037e6f2d0edeed4165d.tar.xz linux-073ff3c8e6acdd6bae91a037e6f2d0edeed4165d.zip |
net/mlx5: Use exact encap header size for the FW input buffer
The current code is allocating the max encap size supported by
the firmware and not the size requested by the caller, fix that.
Also, spare a warning when the size of the encapsulation headers
is bigger from what is supported by the firmware.
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Reviewed-by: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c index c4478ecd8056..b5253b59e8fe 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c @@ -473,10 +473,13 @@ int mlx5_encap_alloc(struct mlx5_core_dev *dev, int err; u32 *in; - if (size > MLX5_CAP_ESW(dev, max_encap_header_size)) + if (size > max_encap_size) { + mlx5_core_warn(dev, "encap size %zd too big, max supported is %d\n", + size, max_encap_size); return -EINVAL; + } - in = kzalloc(MLX5_ST_SZ_BYTES(alloc_encap_header_in) + max_encap_size, + in = kzalloc(MLX5_ST_SZ_BYTES(alloc_encap_header_in) + size, GFP_KERNEL); if (!in) return -ENOMEM; |