lkml.org 
[lkml]   [2020]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [Aspeed, v1 1/1] net: ftgmac100: Change the order of getting MAC address
From
Date
Am 21.12.2020 um 21:51 schrieb Hongwei Zhang:
> Change the order of reading MAC address, try to read it from MAC chip
> first, if it's not availabe, then try to read it from device tree.
>
This commit message leaves a number of questions. It seems the change
isn't related at all to the change that it's supposed to fix.

- What is the issue that you're trying to fix?
- And what is wrong with the original change?

> Fixes: 35c54922dc97 ("ARM: dts: tacoma: Add reserved memory for ramoops")
> Signed-off-by: Hongwei Zhang <hongweiz@ami.com>
> ---
> drivers/net/ethernet/faraday/ftgmac100.c | 22 +++++++++++++---------
> 1 file changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
> index 65cd25372020..9be69cbdab96 100644
> --- a/drivers/net/ethernet/faraday/ftgmac100.c
> +++ b/drivers/net/ethernet/faraday/ftgmac100.c
> @@ -184,14 +184,7 @@ static void ftgmac100_initial_mac(struct ftgmac100 *priv)
> unsigned int l;
> void *addr;
>
> - addr = device_get_mac_address(priv->dev, mac, ETH_ALEN);
> - if (addr) {
> - ether_addr_copy(priv->netdev->dev_addr, mac);
> - dev_info(priv->dev, "Read MAC address %pM from device tree\n",
> - mac);
> - return;
> - }
> -
> + /* Read from Chip if not from chip */

?!?

> m = ioread32(priv->base + FTGMAC100_OFFSET_MAC_MADR);
> l = ioread32(priv->base + FTGMAC100_OFFSET_MAC_LADR);
>
> @@ -205,7 +198,18 @@ static void ftgmac100_initial_mac(struct ftgmac100 *priv)
> if (is_valid_ether_addr(mac)) {
> ether_addr_copy(priv->netdev->dev_addr, mac);
> dev_info(priv->dev, "Read MAC address %pM from chip\n", mac);
> - } else {
> + return;
> + }
> +
> + /* Read from Chip if not from device tree */

Isn't this how it works now?

> + addr = device_get_mac_address(priv->dev, mac, ETH_ALEN);
> + if (addr) {
> + ether_addr_copy(priv->netdev->dev_addr, mac);
> + dev_info(priv->dev, "Read MAC address %pM from device tree\n",
> + mac);
> + return;
> + }
> + else {
> eth_hw_addr_random(priv->netdev);
> dev_info(priv->dev, "Generated random MAC address %pM\n",
> priv->netdev->dev_addr);
>

\
 
 \ /
  Last update: 2020-12-21 22:38    [W:0.085 / U:0.336 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site