3.16.81-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Bhadram Varka vbhadram@nvidia.com
commit a830405ee452ddc4101c3c9334e6fedd42c6b357 upstream.
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 Cc: Arnd Bergmann arnd@arndb.de [bwh: Backported to 3.16: - Pass priv->ioaddr as first argument to set_umac_addr operation - Adjust context] Signed-off-by: Ben Hutchings ben@decadent.org.uk --- .../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 @@ -2388,6 +2388,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->ioaddr, ndev->dev_addr, 0); + + return ret; +} + #ifdef CONFIG_STMMAC_DEBUG_FS static struct dentry *stmmac_fs_dir; static struct dentry *stmmac_rings_status; @@ -2587,7 +2601,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, };
/**