[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9043d467-bf5d-5800-8c4c-8d9dac636cb2@gmail.com>
Date: Tue, 21 Sep 2021 12:52:21 +0200
From: Rafał Miłecki <zajec5@...il.com>
To: Florian Fainelli <f.fainelli@...il.com>,
Vladimir Oltean <olteanv@...il.com>
Cc: Network Development <netdev@...r.kernel.org>,
Andrew Lunn <andrew@...n.ch>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King <rmk+kernel@...linux.org.uk>
Subject: Re: Race between "Generic PHY" and "bcm53xx" drivers after
-EPROBE_DEFER
On 21.09.2021 11:45, Rafał Miłecki wrote:
> On 20.09.2021 20:25, Florian Fainelli wrote:
>> On 9/20/21 11:17 AM, Vladimir Oltean wrote:
>> [snip]
>>>> All I am saying is that there is not really any need to come up with a
>>>> Device Tree-based solution since you can inspect the mdio_device and
>>>> find out whether it is an Ethernet PHY or a MDIO device proper, and that
>>>> ought to cover all cases that I can think of.
>>>
>>> Okay, but where's the problem? I guess we're on the same page, and
>>> you're saying that we should not be calling bcma_mdio_mii_register, and
>>> assigning the result to bgmac->mii_bus, because that makes us call
>>> bcma_phy_connect instead of bgmac_phy_connect_direct. But based on what
>>> condition? Simply if bgmac->phyaddr == BGMAC_PHY_NOREGS?
>>
>> Yes simply that condition, I really believe it ought to be enough for
>> the space these devices are in use.
>
> I'm afraid I got lost somewhere in this discussion.
>
> If we don't call bcma_mdio_mii_register() (as suggested in quoted
> e-mail) then MDIO device 0x1e won't get created and "bcm53xx"
> (b53_mdio.c) won't ever load.
I did a quick test and replaced bcma_phy_connect with
bgmac_phy_connect_direct.
That fixes the problem for me.
So I guess we should:
1. Leave the bcma_mdio_mii_register() call
2. Use bcma_phy_connect() only for real PHY device
Correct me if I'm wrong please.
Powered by blists - more mailing lists