On 08.02.2024 16:28, Aithal, Srikanth wrote: > On 2/8/2024 7:32 PM, Heiner Kallweit wrote: >> On 08.02.2024 12:05, Aithal, Srikanth wrote: >>> On 2/8/2024 4:16 PM, Heiner Kallweit wrote: >>>> On 08.02.2024 09:30, Aithal, Srikanth wrote: >>>>> Hi, >>>>> >>>>> On 6.8.0-rc3-next-20240208, the network interfaces are not getting configured. >>>>> >>>> Thanks for the report. Could you please elaborate on what "not getting >>>> configured" means in detail? >>>> - Any error in any log? >>>> - Any other error message? >>>> - Interface doesn't come up or which specific configuration are you missing? >>>> >>> I am not seeing any errors in the dmesg, >>> >>> [ 4.019383] tg3 0000:c1:00.0 eth0: Tigon3 [partno(BCM95720) rev 5720000] (PCI Express) MAC address d0:8e:79:bb:95:90 >>> [ 4.019391] tg3 0000:c1:00.0 eth0: attached PHY is 5720C (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[1]) >>> [ 4.019394] tg3 0000:c1:00.0 eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] TSOcap[1] >>> [ 4.019397] tg3 0000:c1:00.0 eth0: dma_rwctrl[00000001] dma_mask[64-bit] >>> [ 4.041082] tg3 0000:c1:00.1 eth1: Tigon3 [partno(BCM95720) rev 5720000] (PCI Express) MAC address d0:8e:79:bb:95:91 >>> [ 4.041087] tg3 0000:c1:00.1 eth1: attached PHY is 5720C (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[1]) >>> [ 4.041090] tg3 0000:c1:00.1 eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] TSOcap[1] >>> [ 4.041092] tg3 0000:c1:00.1 eth1: dma_rwctrl[00000001] dma_mask[64-bit] >>> [ 4.077483] tg3 0000:c1:00.1 eno8403: renamed from eth1 >>> [ 4.124657] tg3 0000:c1:00.0 eno8303: renamed from eth0 >>> >>> nmcli says interfaces are disconnected: >>> >>> [root@localhost ~]# nmcli >>> eno8303: disconnected >>> "Broadcom and subsidiaries NetXtreme BCM5720" >>> ethernet (tg3), D0:8E:79:BB:95:90, hw, mtu 1500 >>> >>> eno8403: disconnected >>> "Broadcom and subsidiaries NetXtreme BCM5720" >>> ethernet (tg3), D0:8E:79:BB:95:91, hw, mtu 1500 >>> >>> I am attaching host dmesg. >>> >> >> Thanks. dmesg lists no error. Please send output from the following commands. >> >> ip link > 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 > link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 > 2: eno8303: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000 > link/ether d0:8e:79:bb:95:90 brd ff:ff:ff:ff:ff:ff > altname enp193s0f0 > 3: eno8403: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000 > link/ether d0:8e:79:bb:95:91 brd ff:ff:ff:ff:ff:ff > altname enp193s0f1 > >> ethtool <if> > Settings for eno8303: > Supported ports: [ TP ] > Supported link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Half 1000baseT/Full > Supported pause frame use: No > Supports auto-negotiation: Yes > Supported FEC modes: Not reported > Advertised link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Half 1000baseT/Full > Advertised pause frame use: No > Advertised auto-negotiation: Yes > Advertised FEC modes: Not reported > Speed: Unknown! > Duplex: Unknown! (255) > Auto-negotiation: on > Port: Twisted Pair > PHYAD: 1 > Transceiver: internal > MDI-X: Unknown > Supports Wake-on: g > Wake-on: d > Current message level: 0x000000ff (255) > drv probe link timer ifdown ifup rx_err tx_err > Link detected: no > > Settings for eno8403: > Supported ports: [ TP ] > Supported link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Half 1000baseT/Full > Supported pause frame use: No > Supports auto-negotiation: Yes > Supported FEC modes: Not reported > Advertised link modes: 10baseT/Half 10baseT/Full > 100baseT/Half 100baseT/Full > 1000baseT/Half 1000baseT/Full > Advertised pause frame use: No > Advertised auto-negotiation: Yes > Advertised FEC modes: Not reported > Speed: Unknown! > Duplex: Unknown! (255) > Auto-negotiation: on > Port: Twisted Pair > PHYAD: 2 > Transceiver: internal > MDI-X: Unknown > Supports Wake-on: g > Wake-on: d > Current message level: 0x000000ff (255) > drv probe link timer ifdown ifup rx_err tx_err > Link detected: no > >> ethtool --show-eee <if> > EEE settings for eno8403: > EEE status: enabled - inactive > Tx LPI: 2047 (us) > Supported EEE link modes: 100baseT/Full > 1000baseT/Full > Advertised EEE link modes: 100baseT/Full > 1000baseT/Full > Link partner advertised EEE link modes: Not reported > > EEE settings for eno8303: > EEE status: enabled - inactive > Tx LPI: 2047 (us) > Supported EEE link modes: 100baseT/Full > 1000baseT/Full > Advertised EEE link modes: 100baseT/Full > 1000baseT/Full > Link partner advertised EEE link modes: Not reported > >> >> If the interfaces aren't up, please try to bring them up manually and see what happens. >> ip link set <if> up > Nothing happens. > [root@localhost ~]# ip link set eno8303 up > [root@localhost ~]# ip link set eno8403 up > [root@localhost ~]# ip link > 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 > link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 > 2: eno8303: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000 > link/ether d0:8e:79:bb:95:90 brd ff:ff:ff:ff:ff:ff > altname enp193s0f0 > 3: eno8403: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000 > link/ether d0:8e:79:bb:95:91 brd ff:ff:ff:ff:ff:ff > altname enp193s0f1 > >> >> >>>>> I have 'NetXtreme BCM5720 Gigabit Ethernet PCIe' >>>>> configuration: autonegotiation=on broadcast=yes driver=tg3 >>>>> >>>>> If I revert below commit I am able to get back the interfaces mentioned. >>>>> >>>>> commit 9bc791341bc9a5c22b94889aa37993bb69faa317 >>>>> Author: Heiner Kallweit <hkallweit1@xxxxxxxxx> >>>>> Date: Sat Feb 3 22:12:50 2024 +0100 >>>>> >>>>> tg3: convert EEE handling to use linkmode bitmaps >>>>> >>>>> Convert EEE handling to use linkmode bitmaps. This prepares for >>>>> removing the legacy bitmaps from struct ethtool_keee. >>>>> No functional change intended. >>>>> >>>>> Note: The change to mii_eee_cap1_mod_linkmode_t(tp->eee.advertised, val) >>>>> in tg3_phy_autoneg_cfg() isn't completely obvious, but it doesn't change >>>>> the current functionality. >>>>> >>>>> Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> >>>>> Reviewed-by: Andrew Lunn <andrew@xxxxxxx> >>>>> Link: https://lore.kernel.org/r/0652b910-6bcc-421f-8769-38f7dae5037e@xxxxxxxxx >>>>> Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> >>>>> >>>>> >>>>> The same works fine on 6.8.0-rc3-next-20240207. >>>>> >>>>> Thanks, >>>>> Srikanth Aithal >>>>> sraithal@xxxxxxx >>>> Heiner >> > Could you please test whether the following fixes the issue for you? The uninitialized struct ethtool_keee causes the bug because mii_eee_cap1_mod_linkmode_t() leaves unknown bits as-is. --- drivers/net/ethernet/broadcom/tg3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c index 50f674031..7d0a2f5f3 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c @@ -4616,7 +4616,7 @@ static int tg3_init_5401phy_dsp(struct tg3 *tp) static bool tg3_phy_eee_config_ok(struct tg3 *tp) { - struct ethtool_keee eee; + struct ethtool_keee eee = {}; if (!(tp->phy_flags & TG3_PHYFLG_EEE_CAP)) return true; -- 2.43.0