mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 23:39:18 +00:00
net: pcs: xpcs: remove double-read of link state when using AN
Phylink does not want the current state of the link when reading the PCS link state - it wants the latched state. Don't double-read the MII status register. Phylink will re-read as necessary to capture transient link-down events as of dbae3388ea9c ("net: phylink: Force retrigger in case of latched link-fail indicator"). The above referenced commit is a dependency for this change, and thus this change should not be backported to any kernel that does not contain the above referenced commit. Fixes: fcb26bd2b6ca ("net: phy: Add Synopsys DesignWare XPCS MDIO module") Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
abf36703d7
commit
ef63461caf
@ -321,7 +321,7 @@ static int xpcs_read_fault_c73(struct dw_xpcs *xpcs,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int xpcs_read_link_c73(struct dw_xpcs *xpcs, bool an)
|
||||
static int xpcs_read_link_c73(struct dw_xpcs *xpcs)
|
||||
{
|
||||
bool link = true;
|
||||
int ret;
|
||||
@ -333,15 +333,6 @@ static int xpcs_read_link_c73(struct dw_xpcs *xpcs, bool an)
|
||||
if (!(ret & MDIO_STAT1_LSTATUS))
|
||||
link = false;
|
||||
|
||||
if (an) {
|
||||
ret = xpcs_read(xpcs, MDIO_MMD_AN, MDIO_STAT1);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (!(ret & MDIO_STAT1_LSTATUS))
|
||||
link = false;
|
||||
}
|
||||
|
||||
return link;
|
||||
}
|
||||
|
||||
@ -935,7 +926,7 @@ static int xpcs_get_state_c73(struct dw_xpcs *xpcs,
|
||||
int ret;
|
||||
|
||||
/* Link needs to be read first ... */
|
||||
state->link = xpcs_read_link_c73(xpcs, state->an_enabled) > 0 ? 1 : 0;
|
||||
state->link = xpcs_read_link_c73(xpcs) > 0 ? 1 : 0;
|
||||
|
||||
/* ... and then we check the faults. */
|
||||
ret = xpcs_read_fault_c73(xpcs, state);
|
||||
|
Loading…
x
Reference in New Issue
Block a user