fix #5373: cherry-pick USB ethernet naming fix
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
parent
4cab886f26
commit
70198d2b84
@ -0,0 +1,50 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
|
||||
Date: Wed, 3 Apr 2024 15:21:58 +0200
|
||||
Subject: [PATCH] net: usb: ax88179_178a: avoid the interface always configured
|
||||
as random address
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
After the commit d2689b6a86b9 ("net: usb: ax88179_178a: avoid two
|
||||
consecutive device resets"), reset is not executed from bind operation and
|
||||
mac address is not read from the device registers or the devicetree at that
|
||||
moment. Since the check to configure if the assigned mac address is random
|
||||
or not for the interface, happens after the bind operation from
|
||||
usbnet_probe, the interface keeps configured as random address, although the
|
||||
address is correctly read and set during open operation (the only reset
|
||||
now).
|
||||
|
||||
In order to keep only one reset for the device and to avoid the interface
|
||||
always configured as random address, after reset, configure correctly the
|
||||
suitable field from the driver, if the mac address is read successfully from
|
||||
the device registers or the devicetree. Take into account if a locally
|
||||
administered address (random) was previously stored.
|
||||
|
||||
cc: stable@vger.kernel.org # 6.6+
|
||||
Fixes: d2689b6a86b9 ("net: usb: ax88179_178a: avoid two consecutive device resets")
|
||||
Reported-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
|
||||
Reviewed-by: Simon Horman <horms@kernel.org>
|
||||
Link: https://lore.kernel.org/r/20240403132158.344838-1-jtornosm@redhat.com
|
||||
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
(cherry picked from commit 2e91bb99b9d4f756e92e83c4453f894dda220f09)
|
||||
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
||||
---
|
||||
drivers/net/usb/ax88179_178a.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c
|
||||
index d837c1887416..e0e9b4c53cb0 100644
|
||||
--- a/drivers/net/usb/ax88179_178a.c
|
||||
+++ b/drivers/net/usb/ax88179_178a.c
|
||||
@@ -1273,6 +1273,8 @@ static void ax88179_get_mac_addr(struct usbnet *dev)
|
||||
|
||||
if (is_valid_ether_addr(mac)) {
|
||||
eth_hw_addr_set(dev->net, mac);
|
||||
+ if (!is_local_ether_addr(mac))
|
||||
+ dev->net->addr_assign_type = NET_ADDR_PERM;
|
||||
} else {
|
||||
netdev_info(dev->net, "invalid MAC address, using random\n");
|
||||
eth_hw_addr_random(dev->net);
|
Loading…
Reference in New Issue
Block a user