| From 733d96ef347e44d6d88d0852d1a25fb6da872c0f Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 6 Feb 2019 21:45:29 -0800 |
| Subject: net: phy: fixed_phy: Fix fixed_phy not checking GPIO |
| |
| From: Moritz Fischer <mdf@kernel.org> |
| |
| [ Upstream commit 8f289805616e81f7c1690931aa8a586c76f4fa88 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/phy/fixed_phy.c | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| diff --git a/drivers/net/phy/fixed_phy.c b/drivers/net/phy/fixed_phy.c |
| index eb51672106811..3ab2eb677a599 100644 |
| --- a/drivers/net/phy/fixed_phy.c |
| +++ b/drivers/net/phy/fixed_phy.c |
| @@ -67,11 +67,11 @@ static int fixed_mdio_read(struct mii_bus *bus, int phy_addr, int reg_num) |
| do { |
| s = read_seqcount_begin(&fp->seqcount); |
| /* 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)); |
| |
| -- |
| 2.20.1 |
| |