Merge tag 'mlx5-fixes-2017-07-09' of https://git.kernel.org/pub/scm/linux/kernel...
authorDavid S. Miller <davem@davemloft.net>
Sun, 9 Jul 2017 15:05:41 +0000 (16:05 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sun, 9 Jul 2017 15:05:41 +0000 (16:05 +0100)
Saeed Mahameed says:

====================
mlx5-fixes-2017-07-09

This series includes fixes to mlx5 driver:
 - Compilation warnings and issues introduced on v4.12
 - Initialize CEE's getpermhwaddr address buffer to 0xff
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/Makefile
drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c
drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c
drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c
drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c
drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c

index ca367445f8642efdd79ac31dae9ecac8ef376a93..9d17e4e76d3a53e66b51d756c4555cb7405346c2 100644 (file)
@@ -4,14 +4,14 @@ subdir-ccflags-y += -I$(src)
 mlx5_core-y := main.o cmd.o debugfs.o fw.o eq.o uar.o pagealloc.o \
                health.o mcg.o cq.o srq.o alloc.o qp.o port.o mr.o pd.o \
                mad.o transobj.o vport.o sriov.o fs_cmd.o fs_core.o \
-               fs_counters.o rl.o lag.o dev.o lib/gid.o
+               fs_counters.o rl.o lag.o dev.o wq.o lib/gid.o
 
 mlx5_core-$(CONFIG_MLX5_ACCEL) += accel/ipsec.o
 
 mlx5_core-$(CONFIG_MLX5_FPGA) += fpga/cmd.o fpga/core.o fpga/conn.o fpga/sdk.o \
                fpga/ipsec.o
 
-mlx5_core-$(CONFIG_MLX5_CORE_EN) += wq.o eswitch.o eswitch_offloads.o \
+mlx5_core-$(CONFIG_MLX5_CORE_EN) += eswitch.o eswitch_offloads.o \
                en_main.o en_common.o en_fs.o en_ethtool.o en_tx.o \
                en_rx.o en_rx_am.o en_txrx.o en_clock.o vxlan.o \
                en_tc.o en_arfs.o en_rep.o en_fs_ethtool.o en_selftest.o
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/accel/Makefile
new file mode 100644 (file)
index 0000000..d8e1711
--- /dev/null
@@ -0,0 +1 @@
+subdir-ccflags-y += -I$(src)/..
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/Makefile
new file mode 100644 (file)
index 0000000..d8e1711
--- /dev/null
@@ -0,0 +1 @@
+subdir-ccflags-y += -I$(src)/..
index 4a78aefdf15779e4c50935bf1db858a0b756b9a8..7d06c673851a531a4b3c06f49ec8520e5df8b442 100644 (file)
@@ -363,6 +363,7 @@ void mlx5e_ipsec_build_inverse_table(void)
 {
        u16 mss_inv;
        u32 mss;
+       u64 n;
 
        /* Calculate 1/x inverse table for use in GSO data path.
         * Using this table, we provide the IPSec accelerator with the value of
@@ -372,7 +373,8 @@ void mlx5e_ipsec_build_inverse_table(void)
         */
        mlx5e_ipsec_inverse_table[1] = htons(0xFFFF);
        for (mss = 2; mss < MAX_LSO_MSS; mss++) {
-               mss_inv = ((1ULL << 32) / mss) >> 16;
+               n = 1ULL << 32;
+               mss_inv = do_div(n, mss) >> 16;
                mlx5e_ipsec_inverse_table[mss] = htons(mss_inv);
        }
 }
index 8fa23f6a1f67f6494168455a58c5a7b1ee35cae5..2eb54d36e16eac77e3a9d0387758d66b51584bd3 100644 (file)
@@ -464,6 +464,8 @@ static void mlx5e_dcbnl_getpermhwaddr(struct net_device *netdev,
        if (!perm_addr)
                return;
 
+       memset(perm_addr, 0xff, MAX_ADDR_LEN);
+
        mlx5_query_nic_vport_mac_address(priv->mdev, 0, perm_addr);
 }
 
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/fpga/Makefile
new file mode 100644 (file)
index 0000000..d8e1711
--- /dev/null
@@ -0,0 +1 @@
+subdir-ccflags-y += -I$(src)/..
index 31e5a2627eb8a6a2ec9aad78a6e2ab3d8aa5ab4f..9034e9960a761fa7245cbfab9dd66cf0c434a522 100644 (file)
@@ -102,7 +102,7 @@ static int mlx5_fpga_device_load_check(struct mlx5_fpga_device *fdev)
        return 0;
 }
 
-int mlx5_fpga_device_brb(struct mlx5_fpga_device *fdev)
+static int mlx5_fpga_device_brb(struct mlx5_fpga_device *fdev)
 {
        int err;
        struct mlx5_core_dev *mdev = fdev->mdev;
index 42970e2a05ff4da9f7149698e735627717e99f4c..35d0e33381ca080b6c1f3e0eb500e08a13ffe408 100644 (file)
@@ -275,7 +275,7 @@ int mlx5_fpga_ipsec_counters_read(struct mlx5_core_dev *mdev, u64 *counters,
 {
        struct mlx5_fpga_device *fdev = mdev->fpga;
        unsigned int i;
-       u32 *data;
+       __be32 *data;
        u32 count;
        u64 addr;
        int ret;
@@ -290,7 +290,7 @@ int mlx5_fpga_ipsec_counters_read(struct mlx5_core_dev *mdev, u64 *counters,
 
        count = mlx5_fpga_ipsec_counters_count(mdev);
 
-       data = kzalloc(sizeof(u32) * count * 2, GFP_KERNEL);
+       data = kzalloc(sizeof(*data) * count * 2, GFP_KERNEL);
        if (!data) {
                ret = -ENOMEM;
                goto out;
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/Makefile
new file mode 100644 (file)
index 0000000..d8e1711
--- /dev/null
@@ -0,0 +1 @@
+subdir-ccflags-y += -I$(src)/..
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile b/drivers/net/ethernet/mellanox/mlx5/core/lib/Makefile
new file mode 100644 (file)
index 0000000..d8e1711
--- /dev/null
@@ -0,0 +1 @@
+subdir-ccflags-y += -I$(src)/..
index de2aed44ab85868cae9f1247debaeaaf90960ced..573f59f46d41edbb503820f9694478886c46212b 100644 (file)
@@ -34,6 +34,7 @@
 #include <linux/etherdevice.h>
 #include <linux/idr.h>
 #include "mlx5_core.h"
+#include "lib/mlx5.h"
 
 void mlx5_init_reserved_gids(struct mlx5_core_dev *dev)
 {