From nobody Tue Apr 7 13:00:54 2026 Received: from mail-pg1-f177.google.com (mail-pg1-f177.google.com [209.85.215.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C39A3238D52 for ; Fri, 13 Mar 2026 06:08:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773382109; cv=none; b=Bo0zkZOGTlkYy3XuaFTOm4NPhzjN38QiQ0o+JAiEByGWjx31PDb6wBXE19zT1V1cEpxJ+JsHn8mN/GyZ6TqKNy0dAE/TdqLMxiK+monsy1A5PE+8bccpoYTUPHNfdijvSzU9k8YDiXV7c2tc6DrMkI0vAJgFYRFz+NVK9EUFOVA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773382109; c=relaxed/simple; bh=SAsMW3yWgjPG74DpRvHq0xpKG+WLnRRIhRB/FVzVgWc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=tPfm7TkosKISD6q7wLmd95sK2Zl3IbuwFJR7b0aW5PSqXdo3Bj2JZQRxv532gDNrRLh/brBHb1W8I0Z0g7LlmILrXHXNJLk9bD8bdlVtuWFyEPWZvnHzFTOiExpHrZA8mx7p1MlbR9lCZ82bSv+WHdNOmlWG9vVHf99N9qQnkpo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=kiS8PQT2; arc=none smtp.client-ip=209.85.215.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="kiS8PQT2" Received: by mail-pg1-f177.google.com with SMTP id 41be03b00d2f7-b6ce6d1d3dcso802674a12.3 for ; Thu, 12 Mar 2026 23:08:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773382108; x=1773986908; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=/xBoiQBQi3pZpHXoWhUgXx+RczLmJXWiD3IkIZsSKDA=; b=kiS8PQT2ugFsZQDjxfJfPCOOc9sqAGca3KB+ZehUHxrJsn71nzmfqMkNjn6NtHKNd3 oLPADRWqD4NHpt80tT811o0bh3XAKLHlg8SlOIWp2+5JcnjVxG9OCUnPffJGhO4JhrLc J1SRAP/uv6pXMb3KJERuuUG00avfZ+uImAv1WEwgundqkfkVDM1MauNTwZ85t+zFwYdQ AX1Fs95HU1SGCO/Tea1hGy4u3O3D7LjbfWD2N/hvaHEH2f6zLAP5OA/saZc0eIu1Zt+t jx7hNPRz+vRIOw9TDb6B18KHyv0v30R390BKttqiJd2Sy0Yh7lfDeNoVZRbGnRfgKOYg 9lRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773382108; x=1773986908; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=/xBoiQBQi3pZpHXoWhUgXx+RczLmJXWiD3IkIZsSKDA=; b=cs2zPCEYUuJiVJJmE15767dAR/eetlnH2YlxfLxIN26NIBIoBWrT+n+c+rs2yCHzqg pEtAgyQLmhaJypGK2VxBVqXR2nDVaQY5bCTVnWAO62EAgXkFdb0k5rsEm5Ob0jKpGxyY NfxHjU6ruOM/obA181bQLBjvIJf+IN7uwAN1V1AGPHM0oOxNGn728uSBvoiMNXBoMX7B G73IyiTcxjER8uY3YUli/J8we7SypFyga5ClUPM+3mA0u4v4WwGP0nH9Kz7h2tM0rdFK YAS3zNNgyAoANY70bKHNeS25xzsD8PB849kGSPNOalL1Z4I9lMwKlYeQYQdQWV83EsLC /10Q== X-Forwarded-Encrypted: i=1; AJvYcCU/5QaczLBdGodqMVBzYdFa/k8rCD9V2YJIXdQjOB1D+jGA4G4Ffzl9Rl/qH7AqQKQdnxkUyfgU8ir41r8=@vger.kernel.org X-Gm-Message-State: AOJu0YyAa7c4sEcBqHed91wYA0pgK432TLCixuOBinQjYkrMUDm2V6Oi yP0WwmMOUQIGeS5rXUF7ngOETkY5J5yStTuI+85siv9RhsSzngLKpr4= X-Gm-Gg: ATEYQzx1AgDxhgq+0fX8DkWMN5ftmRQq3AOK3nL6SDezSJpIZ5kUgRETXNtaxXp7X30 1870oIxibbYWweGUSO36f6JWv413c7Zx+Lc77Q98VbGL8ftNU8M3Yk5tG7rSN7cWFIUBHWBmN4b bFdmK/9D+1zAgX+gpqOFm+QDDT/OA2srZ+KG3rLjGODGBl5OeNkliPMHFhuFC4Gc1tCrq8NBg71 ZRrrD9bLWrOwv9RA7qTz0nlJn0hhNy+jJyvbU9hQPpg5y86X02R/csk3kJLEDwdZOdZTQrV+kZ1 zvv6rQORLllo3kp7udk+5GoMnDpXtuE2OXzkDE645rryR+BmYUuolaDZ1lDwAJko5MP4tr7TaFr C0p3Ly9LL7O6z8+LrncV+QGv0JNm1GzMLHBXMvQIM6OSdBW8FjyAow3VbBqvzbHaFufJT3EyWeV yGtrJHqJEvjj9aJ8/X5SA90NwFJv/GekajUqY2Y9kCz37TMGlc6eiUdqZc7f7OwuE= X-Received: by 2002:a05:6a21:7107:b0:398:6461:6884 with SMTP id adf61e73a8af0-398ec67e2abmr1447737637.0.1773382108097; Thu, 12 Mar 2026 23:08:28 -0700 (PDT) Received: from at-Standard-PC-Q35-ICH9-2009.. ([171.61.161.137]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c73ebb6800fsm714631a12.16.2026.03.12.23.08.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2026 23:08:27 -0700 (PDT) From: Atharva Tiwari To: Cc: Atharva Tiwari , Rishon Jonathan R , Vincent MORVAN , Paul SAGE , Pavan Chebbi , Michael Chan , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v3] tg3: replace placeholder MAC address with device property Date: Fri, 13 Mar 2026 11:38:09 +0530 Message-ID: <20260313060810.1314-1-atharvatiwarilinuxdev@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Paul SAGE On some systems (e.g. iMac 20,1 with BCM57766), the tg3 driver reads a default placeholder mac address (00:10:18:00:00:00) from the mailbox. The correct value on those systems are stored in the 'local-mac-address' property. This patch, detect the default value and tries to retrieve the correct address from the device_get_mac_address function instead. The patch has been tested on two different systems: - iMac 20,1 (BCM57766) model which use the local-mac-address property - iMac 13,2 (BCM57766) model which can use the mailbox, NVRAM or MAC control registers Tested-by: Rishon Jonathan R Co-developed-by: Vincent MORVAN Signed-off-by: Vincent MORVAN Signed-off-by: Paul SAGE Signed-off-by: Atharva Tiwari --- v3: - Used ether_addr_equal v2: - Wrapped commit message to 70 characters - Removed BROADCOM_OUI constant --- --- drivers/net/ethernet/broadcom/tg3.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/bro= adcom/tg3.c index 75f66587983d..1a074ebdf58b 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c @@ -17030,6 +17030,13 @@ static int tg3_get_invariants(struct tg3 *tp, cons= t struct pci_device_id *ent) return err; } =20 +static int tg3_is_default_mac_address(u8 *addr) +{ + const u8 default_mac_address[ETH_ALEN] =3D { 0x00, 0x10, 0x18, 0x00, 0x00= , 0x00 }; + + return ether_addr_equal(default_mac_address, addr); +} + static int tg3_get_device_address(struct tg3 *tp, u8 *addr) { u32 hi, lo, mac_offset; @@ -17103,6 +17110,10 @@ static int tg3_get_device_address(struct tg3 *tp, = u8 *addr) =20 if (!is_valid_ether_addr(addr)) return -EINVAL; + + if (tg3_is_default_mac_address(addr)) + device_get_mac_address(&tp->pdev->dev, addr); + return 0; } =20 --=20 2.43.0