| From d7785feb973b3270f8892c9867fe711cdecf0d6b Mon Sep 17 00:00:00 2001 |
| From: Bhadram Varka <vbhadram@nvidia.com> |
| Date: Fri, 27 Oct 2017 08:22:02 +0530 |
| Subject: stmmac: copy unicast mac address to MAC registers |
| |
| [ Upstream commit a830405ee452ddc4101c3c9334e6fedd42c6b357 ] |
| |
| Currently stmmac driver not copying the valid ethernet |
| MAC address to MAC registers. This patch takes care |
| of updating the MAC register with MAC address. |
| |
| Signed-off-by: Bhadram Varka <vbhadram@nvidia.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 16 +++++++++++++++- |
| 1 file changed, 15 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c |
| +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c |
| @@ -3787,6 +3787,20 @@ static int stmmac_ioctl(struct net_devic |
| return ret; |
| } |
| |
| +static int stmmac_set_mac_address(struct net_device *ndev, void *addr) |
| +{ |
| + struct stmmac_priv *priv = netdev_priv(ndev); |
| + int ret = 0; |
| + |
| + ret = eth_mac_addr(ndev, addr); |
| + if (ret) |
| + return ret; |
| + |
| + priv->hw->mac->set_umac_addr(priv->hw, ndev->dev_addr, 0); |
| + |
| + return ret; |
| +} |
| + |
| #ifdef CONFIG_DEBUG_FS |
| static struct dentry *stmmac_fs_dir; |
| |
| @@ -4014,7 +4028,7 @@ static const struct net_device_ops stmma |
| #ifdef CONFIG_NET_POLL_CONTROLLER |
| .ndo_poll_controller = stmmac_poll_controller, |
| #endif |
| - .ndo_set_mac_address = eth_mac_addr, |
| + .ndo_set_mac_address = stmmac_set_mac_address, |
| }; |
| |
| /** |