From 70198d2b84710d4ee6ee254c1c49d91895fc1ec7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= Date: Fri, 12 Apr 2024 15:25:02 +0200 Subject: [PATCH] fix #5373: cherry-pick USB ethernet naming fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fabian Grünbichler --- ...178a-avoid-the-interface-always-conf.patch | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 patches/kernel/0013-net-usb-ax88179_178a-avoid-the-interface-always-conf.patch diff --git a/patches/kernel/0013-net-usb-ax88179_178a-avoid-the-interface-always-conf.patch b/patches/kernel/0013-net-usb-ax88179_178a-avoid-the-interface-always-conf.patch new file mode 100644 index 0000000..5f39f58 --- /dev/null +++ b/patches/kernel/0013-net-usb-ax88179_178a-avoid-the-interface-always-conf.patch @@ -0,0 +1,50 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jose Ignacio Tornos Martinez +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 +Signed-off-by: Jose Ignacio Tornos Martinez +Reviewed-by: Simon Horman +Link: https://lore.kernel.org/r/20240403132158.344838-1-jtornosm@redhat.com +Signed-off-by: Jakub Kicinski +(cherry picked from commit 2e91bb99b9d4f756e92e83c4453f894dda220f09) +Signed-off-by: Fabian Grünbichler +--- + 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);