net: phy: fixed_phy: Fix fixed_phy not checking GPIO

Fix fixed_phy not checking GPIO if no link_update callback
is registered.

In the original version all users registered a link_update
callback so the issue was masked.

Fixes: a5597008dbc2 ("phy: fixed_phy: Add gpio to determine link up/down.")
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Moritz Fischer <mdf@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Moritz Fischer
2019-02-06 21:45:29 -08:00
committed by David S. Miller
parent 22087d6592
commit 8f28980561

View File

@ -85,11 +85,11 @@ static int fixed_mdio_read(struct mii_bus *bus, int phy_addr, int reg_num)
s = read_seqcount_begin(&fp->seqcount);
fp->status.link = !fp->no_carrier;
/* Issue callback if user registered it. */
if (fp->link_update) {
if (fp->link_update)
fp->link_update(fp->phydev->attached_dev,
&fp->status);
fixed_phy_update(fp);
}
/* Check the GPIO for change in status */
fixed_phy_update(fp);
state = fp->status;
} while (read_seqcount_retry(&fp->seqcount, s));