Re: [PATCH NET v3 1/2] net: phy: Add phy loopback support in net phy framework

2017-06-24 Thread Andrew Lunn
> phy_resume call phydrv->resume without take mutex. > if phy driver implement resume function, for example marvell_resume, then > > static int marvell_resume(struct phy_device *phydev) > { > int err; > > /* Resume the fiber mode first */ > if (!(phydev->supported & SUPPORTED_FI

Re: [PATCH NET v3 1/2] net: phy: Add phy loopback support in net phy framework

2017-06-23 Thread Yunsheng Lin
On 2017/6/24 11:40, Yunsheng Lin wrote: > Hi, Andrew > > On 2017/6/24 11:12, Andrew Lunn wrote: >>> +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

Re: [PATCH NET v3 1/2] net: phy: Add phy loopback support in net phy framework

2017-06-23 Thread Yunsheng Lin
Hi, Andrew On 2017/6/24 11:12, Andrew Lunn wrote: >> +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;

Re: [PATCH NET v3 1/2] net: phy: Add phy loopback support in net phy framework

2017-06-23 Thread Andrew Lunn
> +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)