From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Jason Martinsen <jasonmartinsen@msn.com>,
"David S . Miller" <davem@davemloft.net>,
Sasha Levin <sashal@kernel.org>,
netdev@vger.kernel.org, linux-usb@vger.kernel.org
Subject: [PATCH AUTOSEL 4.4 17/21] lan78xx: Resolve issue with changing MAC address
Date: Wed, 26 Dec 2018 17:54:55 -0500 [thread overview]
Message-ID: <20181226225501.151365-17-sashal@kernel.org> (raw)
In-Reply-To: <20181226225501.151365-1-sashal@kernel.org>
From: Jason Martinsen <jasonmartinsen@msn.com>
[ Upstream commit 15515aaaa69659c502003926a2067ee76176148a ]
Current state for the lan78xx driver does not allow for changing the
MAC address of the interface, without either removing the module (if
you compiled it that way) or rebooting the machine. If you attempt to
change the MAC address, ifconfig will show the new address, however,
the system/interface will not respond to any traffic using that
configuration. A few short-term options to work around this are to
unload the module and reload it with the new MAC address, change the
interface to "promisc", or reboot with the correct configuration to
change the MAC.
This patch enables the ability to change the MAC address via fairly normal means...
ifdown <interface>
modify entry in /etc/network/interfaces OR a similar method
ifup <interface>
Then test via any network communication, such as ICMP requests to gateway.
My only test platform for this patch has been a raspberry pi model 3b+.
Signed-off-by: Jason Martinsen <jasonmartinsen@msn.com>
-----
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/usb/lan78xx.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
index 45a6a7cae4bf..59a7fa3420a6 100644
--- a/drivers/net/usb/lan78xx.c
+++ b/drivers/net/usb/lan78xx.c
@@ -1679,6 +1679,10 @@ int lan78xx_set_mac_addr(struct net_device *netdev, void *p)
ret = lan78xx_write_reg(dev, RX_ADDRL, addr_lo);
ret = lan78xx_write_reg(dev, RX_ADDRH, addr_hi);
+ /* Added to support MAC address changes */
+ ret = lan78xx_write_reg(dev, MAF_LO(0), addr_lo);
+ ret = lan78xx_write_reg(dev, MAF_HI(0), addr_hi | MAF_HI_VALID_);
+
return 0;
}
--
2.19.1
next prev parent reply other threads:[~2018-12-26 22:57 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-26 22:54 [PATCH AUTOSEL 4.4 01/21] powerpc: Fix COFF zImage booting on old powermacs Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 02/21] ARM: imx: update the cpu power up timing setting on i.mx6sx Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 03/21] Input: restore EV_ABS ABS_RESERVED Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 04/21] checkstack.pl: fix for aarch64 Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 05/21] xfrm: Fix bucket count reported to userspace Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 06/21] scsi: bnx2fc: Fix NULL dereference in error handling Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 07/21] Input: omap-keypad - fix idle configuration to not block SoC idle states Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 08/21] USB: hso: Fix OOB memory access in hso_probe/hso_get_config_data Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 09/21] bnx2x: Clear fip MAC when fcoe offload support is disabled Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 10/21] w90p910_ether: remove incorrect __init annotation Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 11/21] net: hns: Incorrect offset address used for some registers Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 12/21] net: hns: Fixed bug that netdev was opened twice Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 13/21] net: hns: Avoid net reset caused by pause frames storm Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 14/21] net: hns: Add mac pcs config when enable|disable mac Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 15/21] SUNRPC: Fix a race with XPRT_CONNECTING Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 16/21] x86/mtrr: Don't copy uninitialized gentry fields back to userspace Sasha Levin
2018-12-26 22:54 ` Sasha Levin [this message]
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 18/21] xen/netfront: tolerate frags with no data Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 19/21] vxge: ensure data0 is initialized in when fetching firmware version information Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 20/21] net: netxen: fix a missing check and an uninitialized use Sasha Levin
2018-12-26 22:54 ` [PATCH AUTOSEL 4.4 21/21] serial/sunsu: fix refcount leak Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181226225501.151365-17-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=davem@davemloft.net \
--cc=jasonmartinsen@msn.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox