From patchwork Tue Feb 5 11:28:33 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [net-next, 6/9] net/mlx4_en: Save previous MAC address of the port so we can replace it later Date: Tue, 05 Feb 2013 01:28:33 -0000 From: Amir Vadai X-Patchwork-Id: 218230 Message-Id: <1360063716-13415-7-git-send-email-amirv@mellanox.com> To: "David S. Miller" Cc: Amir Vadai , netdev@vger.kernel.org, Or Gerlitz , Yan Burman From: Yan Burman In preparation to having more than one unicast MAC per port, we need to keep track of the previous MAC address in the flow of ndo_set_mac_address, so that mlx4_en_replace_mac will know what to replace. Signed-off-by: Yan Burman Signed-off-by: Amir Vadai --- drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c index 80067d5..72a3fe5 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c @@ -591,7 +591,7 @@ static void mlx4_en_put_qp(struct mlx4_en_priv *priv) } static int mlx4_en_replace_mac(struct mlx4_en_priv *priv, int qpn, - unsigned char *new_mac) + unsigned char *new_mac, unsigned char *prev_mac) { struct mlx4_en_dev *mdev = priv->mdev; struct mlx4_dev *dev = mdev->dev; @@ -657,7 +657,7 @@ static void mlx4_en_do_set_mac(struct work_struct *work) if (priv->port_up) { /* Remove old MAC and insert the new one */ err = mlx4_en_replace_mac(priv, priv->base_qpn, - priv->dev->dev_addr); + priv->dev->dev_addr, priv->prev_mac); if (err) en_err(priv, "Failed changing HW MAC address\n"); memcpy(priv->prev_mac, priv->dev->dev_addr,