From 006eb7beec39501b637a5490f61a64de41d6f39f Mon Sep 17 00:00:00 2001 From: Karthik Rudrapatna Date: Thu, 13 Aug 2020 10:10:48 -0700 Subject: [PATCH 1/2] net : stmmac : random mac addr assignment Assigning mac addr during device boot up in emac probe function. Change-Id: I0937354a1011ed60ee608693c3d6044d85203984 Signed-off-by: Karthik Rudrapatna --- .../stmicro/stmmac/dwmac-qcom-ethqos.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c index b6c8996c99b5..1a6ae88ab643 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -73,7 +73,7 @@ int stmmac_enable_ipc_low; char tmp_buff[MAX_PROC_SIZE]; static struct qmp_pkt pkt; static char qmp_buf[MAX_QMP_MSG_SIZE + 1] = {0}; -static struct ip_params pparams = {"", "", "", ""}; +static struct ip_params pparams; static void qcom_ethqos_read_iomacro_por_values(struct qcom_ethqos *ethqos) { @@ -2283,8 +2283,9 @@ static void ethqos_is_ipv6_NW_stack_ready(struct work_struct *work) flush_delayed_work(ðqos->ipv6_addr_assign_wq); } -static int ethqos_set_early_eth_param(struct stmmac_priv *priv, - struct qcom_ethqos *ethqos) +static void ethqos_set_early_eth_param( + struct stmmac_priv *priv, + struct qcom_ethqos *ethqos) { int ret = 0; @@ -2311,12 +2312,7 @@ static int ethqos_set_early_eth_param(struct stmmac_priv *priv, schedule_delayed_work(ðqos->ipv6_addr_assign_wq, msecs_to_jiffies(1000)); } - - if (pparams.is_valid_mac_addr) { - ether_addr_copy(dev_addr, pparams.mac_addr); - memcpy(priv->dev->dev_addr, dev_addr, ETH_ALEN); - } - return ret; + return; } bool qcom_ethqos_ipa_enabled(void) @@ -2511,6 +2507,11 @@ static int qcom_ethqos_probe(struct platform_device *pdev) ndev = dev_get_drvdata(ðqos->pdev->dev); priv = netdev_priv(ndev); + if (pparams.is_valid_mac_addr) { + ether_addr_copy(dev_addr, pparams.mac_addr); + memcpy(priv->dev->dev_addr, dev_addr, ETH_ALEN); + } + if (ethqos->early_eth_enabled) { /* Initialize work*/ INIT_WORK(ðqos->early_eth, From c000ced86942453919b3269c5f368bc9be3de563 Mon Sep 17 00:00:00 2001 From: Karthik Rudrapatna Date: Thu, 13 Aug 2020 10:24:31 -0700 Subject: [PATCH 2/2] arch: arm64 : boot: dts : Removing mac addr entry Removed mac addr entry in dtsi file in order to generate random mac addr. Change-Id: Ibfe7a76953d9ff6eec75a1d13323d7d92a530083 Signed-off-by: Karthik Rudrapatna --- arch/arm64/boot/dts/qcom/qcs405.dtsi | 1 - 1 file changed, 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/qcs405.dtsi b/arch/arm64/boot/dts/qcom/qcs405.dtsi index 45574c4891c6..839d8e80f4a5 100644 --- a/arch/arm64/boot/dts/qcom/qcs405.dtsi +++ b/arch/arm64/boot/dts/qcom/qcs405.dtsi @@ -1642,7 +1642,6 @@ qcom,bus-vector-names = "0", "10", "100", "1000"; snps,tso; snps,pbl = <32>; - mac-address = [00 55 7B B5 7D f7]; clocks = <&clock_gcc GCC_ETH_AXI_CLK>, <&clock_gcc GCC_ETH_SLAVE_AHB_CLK>, <&clock_gcc GCC_ETH_PTP_CLK>,