Netdev List
 help / color / mirror / Atom feed
From: Jonas Gorski <jogo@openwrt.org>
To: Florian Fainelli <f.fainelli@gmail.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net, hauke@hauke-m.de
Subject: Re: [PATCH net] net: phy: re-apply PHY fixups during phy_register_device
Date: Tue, 29 Jul 2014 00:13:06 +0200	[thread overview]
Message-ID: <20140729001306.00000332@openwrt.org> (raw)
In-Reply-To: <1406584645-20081-1-git-send-email-f.fainelli@gmail.com>

On Mon, 28 Jul 2014 14:57:25 -0700
Florian Fainelli <f.fainelli@gmail.com> wrote:

> Commit 87aa9f9c61ad ("net: phy: consolidate PHY reset in phy_init_hw()")
> moved the call to phy_scan_fixups() in phy_init_hw() after a software
> reset is performed.
> 
> This broke PHY drivers which do register an early PHY fixup callback to
> intercept the PHY probing and do things like changing the 32-bits unique
> PHY identifier when a pseudo-PHY address has been used.
> 
> Reported-by: Hauke Mehrtens <hauke@hauke-m.de>
> Reported-by: Jonas Gorski <jogo@openwrt.org>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
> This changes is applicable to 3.14+ thanks!
> 
>  drivers/net/phy/phy_device.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
> index 74a82328dd49..1759d54682c8 100644
> --- a/drivers/net/phy/phy_device.c
> +++ b/drivers/net/phy/phy_device.c
> @@ -355,6 +355,7 @@ int phy_device_register(struct phy_device *phydev)
>  	phydev->bus->phy_map[phydev->addr] = phydev;
>  
>  	/* Run all of the fixups for this PHY */
> +	phy_scan_fixups(phydev);
>  	err = phy_init_hw(phydev);

You can safely remove the call to phy_init_hw(), as it will do nothing:

int phy_init_hw(struct phy_device *phydev)
{
        int ret = 0;

        if (!phydev->drv || ...) <- always true at this point
                return 0;


Also you should check the return value of phy_scan_fixups.

>  	if (err) {
>  		pr_err("PHY %d failed to initialize\n", phydev->addr);

So this can be actually hit.



Jonas

  reply	other threads:[~2014-07-28 22:13 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-28 21:57 [PATCH net] net: phy: re-apply PHY fixups during phy_register_device Florian Fainelli
2014-07-28 22:13 ` Jonas Gorski [this message]
2014-07-28 22:14   ` Florian Fainelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140729001306.00000332@openwrt.org \
    --to=jogo@openwrt.org \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=hauke@hauke-m.de \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox