On Thu, Mar 7, 2019 at 1:20 PM directhex <email address hidden> wrote:
>
> I am online with +xr320.3
>
> So the fix is c77804be53369dd4c15bfc376cf9b45948194cab ?
Apparently.
> The commit message doesn't make it _seem_ relevant, except for the
> reference to 2b3e88ea65287ba738a798622405b15344871085 which makes it
> seem like maybe prior to c77804be53369dd4c15bfc376cf9b45948194cab the
> state checking is screwed? Which explains why the dmesg difference is
> just whether it detected a link up or not.
Yeah, the commit message describes a different problem than the one
you are seeing, but I suspect you were also broken by 308c6cafde01,
because that added the phy_stop() call.
On Thu, Mar 7, 2019 at 1:30 PM directhex <email address hidden> wrote:
>
> - if (h->phy_if == PHY_INTERFACE_MODE_SGMII)
> - phy_stop(phy_dev);
>
> ... if the interface supports sgmii, disable the device? Or am I reading
> that wrong
It stops the underlying phy, but it should be started again when the
interface is brought up (hns_nic_net_up()). I don't know why it isn't
- perhaps another side-effect of calling phy_stop() before
phy_start(). Thanks for testing - I'll get this fix submitted.
On Thu, Mar 7, 2019 at 1:20 PM directhex <email address hidden> wrote: 4c15bfc376cf9b4 5948194cab ?
>
> I am online with +xr320.3
>
> So the fix is c77804be53369dd
Apparently.
> The commit message doesn't make it _seem_ relevant, except for the 738a798622405b1 5344871085 which makes it 4c15bfc376cf9b4 5948194cab the
> reference to 2b3e88ea65287ba
> seem like maybe prior to c77804be53369dd
> state checking is screwed? Which explains why the dmesg difference is
> just whether it detected a link up or not.
Yeah, the commit message describes a different problem than the one
you are seeing, but I suspect you were also broken by 308c6cafde01,
because that added the phy_stop() call.
On Thu, Mar 7, 2019 at 1:30 PM directhex <email address hidden> wrote: MODE_SGMII)
>
> - if (h->phy_if == PHY_INTERFACE_
> - phy_stop(phy_dev);
>
> ... if the interface supports sgmii, disable the device? Or am I reading
> that wrong
It stops the underlying phy, but it should be started again when the
interface is brought up (hns_nic_net_up()). I don't know why it isn't
- perhaps another side-effect of calling phy_stop() before
phy_start(). Thanks for testing - I'll get this fix submitted.