[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170627132958.GA9921@lunn.ch>
Date: Tue, 27 Jun 2017 15:29:58 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Yunsheng Lin <linyunsheng@...wei.com>
Cc: davem@...emloft.net, f.fainelli@...il.com,
huangdaode@...ilicon.com, xuwei5@...ilicon.com,
liguozhu@...ilicon.com, Yisen.Zhuang@...wei.com,
gabriele.paoloni@...wei.com, john.garry@...wei.com,
linuxarm@...wei.com, salil.mehta@...wei.com, lipeng321@...wei.com,
tremyfr@...il.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH NET V5 2/2] net: hns: Use phy_driver to setup Phy loopback
> >> - phy_write(phy_dev, COPPER_CONTROL_REG, val);
> >> + err = phy_resume(phy_dev);
> >
> > Maybe this was discussed with an earlier version of these patches. Why
> > are using phy_resume() and phy_suspend()?
> When self_test is invoked with ETH_TEST_FL_OFFLINE option, hns mac driver
> call dev_close to set net dev to offline state if net dev is online.
> Doing the actual phy loolback test require phy is power up, So phy_resume
> and phy_suspend are used.
O.K, so you at least need some comments, because this is not obvious.
>From your description, it sounds like you can call phy_resume() on a
device which is not suspended. In general, suspend is expected to
store away state which will be lost when powering down a
device. Resume writes that state back into the device after it is
powered up. So resuming a device which was never suspended could write
bad state into it.
Also, what about if WOL has been set before closing the device?
Andrew
Powered by blists - more mailing lists