net: dsa: mv88e6xxx: wait after reset deactivation [Linux 4.9.187]

This Linux kernel change "net: dsa: mv88e6xxx: wait after reset deactivation" is included in the Linux 4.9.187 release. This change is authored by Baruch Siach <baruch [at]> on Thu Jun 27 21:17:39 2019 +0300. The commit for this change in Linux stable tree is 4f6e4d1 (patch) which is from upstream commit 7b75e49. The same Linux upstream change may have been applied to various maintained Linux releases and you can find all Linux releases containing changes from upstream 7b75e49.

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 <[email protected]>
Reviewed-by: Andrew Lunn <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

There are 2 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/net/dsa/mv88e6xxx/chip.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index 2edd193..f157b81 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -3846,6 +3846,8 @@ static int mv88e6xxx_probe(struct mdio_device *mdiodev)
        return err;
+   if (chip->reset)
+       usleep_range(1000, 2000);

    return 0;

Leave a Reply

Your email address will not be published. Required fields are marked *