diff mbox series

[v2] net: stmmac: move stmmac_check_ether_addr() to driver probe

Message ID 20190422094532.5519-1-vkoul@kernel.org
State Accepted
Delegated to: David Miller
Headers show
Series [v2] net: stmmac: move stmmac_check_ether_addr() to driver probe | expand

Commit Message

Vinod Koul April 22, 2019, 9:45 a.m. UTC
stmmac_check_ether_addr() checks the MAC address and assigns one in
driver open(). In many cases when we create slave netdevice, the dev
addr is inherited from master but the master dev addr maybe NULL at
that time, so move this call to driver probe so that address is
always valid.

Signed-off-by: Xiaofei Shen <xiaofeis@codeaurora.org>
Tested-by: Xiaofei Shen <xiaofeis@codeaurora.org>
Signed-off-by: Sneh Shah <snehshah@codeaurora.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
---

Changes in v2:
  As discussed in [1] we move the stmmac driver inherting the mac address
from probe to open
[1]: https://lore.kernel.org/netdev/20190222125654.12478-1-vkoul@kernel.org/

 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Andrew Lunn April 22, 2019, 1:30 p.m. UTC | #1
On Mon, Apr 22, 2019 at 03:15:32PM +0530, Vinod Koul wrote:
> stmmac_check_ether_addr() checks the MAC address and assigns one in
> driver open(). In many cases when we create slave netdevice, the dev
> addr is inherited from master but the master dev addr maybe NULL at
> that time, so move this call to driver probe so that address is
> always valid.
> 
> Signed-off-by: Xiaofei Shen <xiaofeis@codeaurora.org>
> Tested-by: Xiaofei Shen <xiaofeis@codeaurora.org>
> Signed-off-by: Sneh Shah <snehshah@codeaurora.org>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>

Thanks for doing it this way.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew
David Miller April 23, 2019, 4:53 a.m. UTC | #2
From: Vinod Koul <vkoul@kernel.org>
Date: Mon, 22 Apr 2019 15:15:32 +0530

> stmmac_check_ether_addr() checks the MAC address and assigns one in
> driver open(). In many cases when we create slave netdevice, the dev
> addr is inherited from master but the master dev addr maybe NULL at
> that time, so move this call to driver probe so that address is
> always valid.
> 
> Signed-off-by: Xiaofei Shen <xiaofeis@codeaurora.org>
> Tested-by: Xiaofei Shen <xiaofeis@codeaurora.org>
> Signed-off-by: Sneh Shah <snehshah@codeaurora.org>
> Signed-off-by: Vinod Koul <vkoul@kernel.org>
> ---
> 
> Changes in v2:
>   As discussed in [1] we move the stmmac driver inherting the mac address
> from probe to open
> [1]: https://lore.kernel.org/netdev/20190222125654.12478-1-vkoul@kernel.org/

Applied and queued up for -stable.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 7a895a2889e3..5ab2733e15e2 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -2616,8 +2616,6 @@  static int stmmac_open(struct net_device *dev)
 	u32 chan;
 	int ret;
 
-	stmmac_check_ether_addr(priv);
-
 	if (priv->hw->pcs != STMMAC_PCS_RGMII &&
 	    priv->hw->pcs != STMMAC_PCS_TBI &&
 	    priv->hw->pcs != STMMAC_PCS_RTBI) {
@@ -4303,6 +4301,8 @@  int stmmac_dvr_probe(struct device *device,
 	if (ret)
 		goto error_hw_init;
 
+	stmmac_check_ether_addr(priv);
+
 	/* Configure real RX and TX queues */
 	netif_set_real_num_rx_queues(ndev, priv->plat->rx_queues_to_use);
 	netif_set_real_num_tx_queues(ndev, priv->plat->tx_queues_to_use);