summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorBaruch Siach <baruch@tkos.co.il>2019-06-27 21:17:39 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-28 09:28:27 +0300
commit4b2e53dfcb599ecdaa3db1a2e7d5bef9bacd5502 (patch)
treedd2f8ea6c97fc5ffda65a47ea700cb2bc9460892 /drivers
parent17f782cc4039d48436587b897658937158c2ef33 (diff)
downloadlinux-4b2e53dfcb599ecdaa3db1a2e7d5bef9bacd5502.tar.xz
net: dsa: mv88e6xxx: wait after reset deactivation
[ Upstream commit 7b75e49de424ceb53d13e60f35d0a73765626fda ] Add a 1ms delay after reset deactivation. Otherwise the chip returns bogus ID value. This is observed with 88E6390 (Peridot) chip. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/dsa/mv88e6xxx/chip.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index ae750ab9a4d7..5f81d9a3a2a6 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -4910,6 +4910,8 @@ static int mv88e6xxx_probe(struct mdio_device *mdiodev)
err = PTR_ERR(chip->reset);
goto out;
}
+ if (chip->reset)
+ usleep_range(1000, 2000);
err = mv88e6xxx_detect(chip);
if (err)