On 05/24/2017 04:15 PM, Andrew Lunn wrote:
My NIC has a feature called autopolling where it takes over the MDIO
bus and regularly polls the link state.  When it detects that the
link state has changed, it generates a MAC interrupt.  This is when
I call phy_mac_interrupt() normally.

Unfortunately, you need to keep this feature turned off. It will not
respect the phydev mutex. It has no idea what page has been currently
selected. It probably has no way to flip the page and see if the SGMII
link is up. etc.

phydev mutex?  And what do you mean by page?

I forgot one detail. Every time you do an MDIO read/write, it temporarily disables the feature. Although, I think that's not relevant to your point.

Disabling this feature and switching from PHY_IGNORE_INTERRUPT to PHY_POLL might fix everything. I will try it.

Reply via email to