[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <3639116e-9292-03ca-b9d9-d741118a4541@gmail.com>
Date: Mon, 20 Sep 2021 14:52:00 +0200
From: Rafał Miłecki <zajec5@...il.com>
To: Network Development <netdev@...r.kernel.org>,
Florian Fainelli <f.fainelli@...il.com>
Subject: Race between "Generic PHY" and "bcm53xx" drivers after -EPROBE_DEFER
I have problem using a switch b53 MDIO driver with an Ethernet bgmac
driver.
bgmac registers MDIO bus before registering Ethernet controller. That
results in kernel probing switch (available as MDIO device) early which
results in dsa_port_parse_of() returning -EPROBE_DEFER.
It's OK so far but then in goes like this:
[ 1.306884] bus: 'bcma': driver_probe_device: matched device bcma0:5 with driver bgmac_bcma
[ 1.315427] bus: 'bcma': really_probe: probing driver bgmac_bcma with device bcma0:5
[ 1.323468] bgmac_bcma bcma0:5: Found PHY addr: 30 (NOREGS)
[ 1.329722] libphy: bcma_mdio mii bus: probed
[ 1.334468] bus: 'mdio_bus': driver_probe_device: matched device bcma_mdio-0-0:1e with driver bcm53xx
[ 1.343877] bus: 'mdio_bus': really_probe: probing driver bcm53xx with device bcma_mdio-0-0:1e
[ 1.353174] bcm53xx bcma_mdio-0-0:1e: found switch: BCM53125, rev 4
[ 1.359595] bcm53xx bcma_mdio-0-0:1e: failed to register switch: -517
[ 1.366212] mdio_bus bcma_mdio-0-0:1e: Driver bcm53xx requests probe deferral
[ 1.373499] mdio_bus bcma_mdio-0-0:1e: Added to deferred list
[ 1.379362] bgmac_bcma bcma0:5: Support for Roboswitch not implemented
[ 1.387067] bgmac_bcma bcma0:5: Timeout waiting for reg 0x1E0
[ 1.393600] driver: 'Generic PHY': driver_bound: bound to device 'bcma_mdio-0-0:1e'
[ 1.401390] Generic PHY bcma_mdio-0-0:1e: Removed from deferred list
I can't drop "Generic PHY" driver as it's required for non-CPU switch
ports. I just need kernel to prefer b53 MDIO driver over the "Generic
PHY" one.
Can someone help me fix that, please?
--
Rafał
Powered by blists - more mailing lists