mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Florian Fainelli <f.fainelli@gmail.com>
To: Niklas Cassel <niklas.cassel@axis.com>,
	peppe.cavallaro@st.com, alexandre.torgue@st.com,
	Joao.Pinto@synopsys.com
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	Niklas Cassel <niklass@axis.com>
Subject: Re: [PATCH net-next] stmmac: call stmmac_init_phy from stmmac_dvr_probe
Date: Mon, 20 Mar 2017 10:43:48 -0700	[thread overview]
Message-ID: <257f3b05-805d-fd59-5435-89ede6b0fe4b@gmail.com> (raw)
In-Reply-To: <20170320172915.8313-1-niklass@axis.com>

On 03/20/2017 10:29 AM, Niklas Cassel wrote:
> From: Niklas Cassel <niklas.cassel@axis.com>
> 
> It is usually possible to do
> ethtool -s autoneg on
> so that you trigger an autoneg before calling
> ip link set dev eth0 up

This is completely driver specific and there is no guarantee for this to
work universally across all device drivers because when your interface
is brought down, the most sensible thing to expect in return is that
your PHY is powered down (unless your interface participates in
Wake-on-LAN).

> 
> However, stmmac returns -EBUSY if !netif_running.
> The only reason for this appears to be that stmmac_init_phy
> is called from stmmac_open instead of from stmmac_dvr_probe.
> 
> Move stmmac_init_phy to stmmac_dvr_probe so that ethool
> works as soon as register_netdev has been called.
> stmmac_check_ether_addr was also moved to probe,
> so that the ordering doesn't change.

Are you sure this is a good idea? There are many drivers that moved the
PHY probe into ndo_open() for mainly two things:

- phy_connect() starts the PHY state machine and starting the state
machine without a network device running is kind of wasting cycles

- if the interface is probed, but not used, you are keeping the Ethernet
link running without being able to service packets, which is at best a
waste of power
--
Florian

  parent reply	other threads:[~2017-03-20 17:43 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-20 17:29 Niklas Cassel
2017-03-20 17:42 ` Joao Pinto
2017-03-20 17:44   ` Niklas Cassel
2017-03-20 17:46     ` Joao Pinto
2017-03-20 17:43 ` Florian Fainelli [this message]
2017-03-20 18:34   ` Niklas Cassel
2017-03-20 22:07     ` Florian Fainelli
2017-03-21  9:04       ` Niklas Cassel
2017-03-21 16:32         ` 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=257f3b05-805d-fd59-5435-89ede6b0fe4b@gmail.com \
    --to=f.fainelli@gmail.com \
    --cc=Joao.Pinto@synopsys.com \
    --cc=alexandre.torgue@st.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=niklas.cassel@axis.com \
    --cc=niklass@axis.com \
    --cc=peppe.cavallaro@st.com \
    /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

all inboxes | Powered by JetHome®