netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Lin Yun Sheng <linyunsheng@huawei.com>
Cc: davem@davemloft.net, f.fainelli@gmail.com,
	huangdaode@hisilicon.com, xuwei5@hisilicon.com,
	liguozhu@hisilicon.com, Yisen.Zhuang@huawei.com,
	gabriele.paoloni@huawei.com, john.garry@huawei.com,
	linuxarm@huawei.com, salil.mehta@huawei.com,
	lipeng321@huawei.com, tremyfr@gmail.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH NET v3 1/2] net: phy: Add phy loopback support in net phy framework
Date: Sat, 24 Jun 2017 05:12:31 +0200	[thread overview]
Message-ID: <20170624031231.GG4875@lunn.ch> (raw)
In-Reply-To: <1498211042-240816-2-git-send-email-linyunsheng@huawei.com>

> +int phy_loopback(struct phy_device *phydev, bool enable)
> +{
> +	struct phy_driver *phydrv = to_phy_driver(phydev->mdio.dev.driver);
> +	int ret = 0;
> +
> +	if (enable && phydev->loopback_enabled)
> +		return -EBUSY;
> +
> +	if (!enable && !phydev->loopback_enabled)
> +		return -EINVAL;
> +
> +	if (phydev->drv && phydrv->set_loopback)
> +		ret = phydrv->set_loopback(phydev, enable);

   	else
		ret = -EOPNOTSUPP;

> +
> +	if (ret)
> +		return ret;
> +
> +	phydev->loopback_enabled = enable;
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL(phy_loopback);

One of the comments we made of the PHY code in the hns driver is that
its locking is completely broken. You have made the same error
here. The core needs to hold the mutex while calling into the PHY
driver.

	Andrew

  reply	other threads:[~2017-06-24  3:12 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-23  9:44 [PATCH NET v3 0/2] Add loopback support in phy_driver and hns ethtool fix Lin Yun Sheng
2017-06-23  9:44 ` [PATCH NET v3 1/2] net: phy: Add phy loopback support in net phy framework Lin Yun Sheng
2017-06-24  3:12   ` Andrew Lunn [this message]
2017-06-24  3:40     ` Yunsheng Lin
2017-06-24  6:15       ` Yunsheng Lin
2017-06-24 13:50         ` Andrew Lunn
2017-06-23  9:44 ` [PATCH NET v3 2/2] net: hns: Use phy_driver to setup Phy loopback Lin Yun Sheng
2017-06-24  3:18   ` Andrew Lunn

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=20170624031231.GG4875@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=Yisen.Zhuang@huawei.com \
    --cc=davem@davemloft.net \
    --cc=f.fainelli@gmail.com \
    --cc=gabriele.paoloni@huawei.com \
    --cc=huangdaode@hisilicon.com \
    --cc=john.garry@huawei.com \
    --cc=liguozhu@hisilicon.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=linyunsheng@huawei.com \
    --cc=lipeng321@huawei.com \
    --cc=netdev@vger.kernel.org \
    --cc=salil.mehta@huawei.com \
    --cc=tremyfr@gmail.com \
    --cc=xuwei5@hisilicon.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;
as well as URLs for NNTP newsgroup(s).