Patch "net: fec: set mac address unconditionally" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
net: fec: set mac address unconditionally
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
net-fec-set-mac-address-unconditionally.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Thu Nov 10 16:42:45 CET 2016
From: Gavin Schenk <[email protected]>
Date: Fri, 30 Sep 2016 11:46:10 +0200
Subject: net: fec: set mac address unconditionally
From: Gavin Schenk <[email protected]>
[ Upstream commit b82d44d78480faff7456e9e0999acb9d38666057 ]
If the mac address origin is not dt, you can only safely assign a mac address after "link up" of the device. If the link is off the clocks are disabled and because of issues assigning registers when clocks are off the new mac address cannot be written in .ndo_set_mac_address() on some soc's. This fix sets the mac address unconditionally in fec_restart(...) and ensures consistency between fec registers and the network layer.
--- drivers/net/ethernet/freescale/fec_main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
drivers/net/ethernet/freescale/fec_main.c +5 -5
@@ -944,11 +944,11 @@ fec_restart(struct net_device *ndev)* enet-mac reset will reset mac address registers too, * so need to reconfigure it. */ -if (fep->quirks &FEC_QUIRK_ENET_MAC ) { -memcpy (&temp_mac, ndev->dev_addr,ETH_ALEN ); -writel (cpu_to_be32 (temp_mac[0 ]), fep->hwp +FEC_ADDR_LOW ); -writel (cpu_to_be32 (temp_mac[1 ]), fep->hwp +FEC_ADDR_HIGH ); - } +memcpy (&temp_mac, ndev->dev_addr,ETH_ALEN ); +writel ((__force u32 )cpu_to_be32 (temp_mac[0 ]), + fep->hwp +FEC_ADDR_LOW ); +writel ((__force u32 )cpu_to_be32 (temp_mac[1 ]), + fep->hwp +FEC_ADDR_HIGH );/* Clear any outstanding interrupt. */ writel (0xffffffff , fep->hwp +FEC_IEVENT );
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/net-fec-set-mac-address-unconditionally.patch