]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
net: dsa: mv88e6xxx: wait for 88E6185 PPU disabled
authorVivien Didelot <vivien.didelot@gmail.com>
Fri, 9 Aug 2019 22:47:53 +0000 (18:47 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 Aug 2019 04:27:15 +0000 (21:27 -0700)
The PPU state of 88E6185 can be either "Disabled at Reset" or
"Disabled after Initialization". Because we intentionally clear the
PPU Enabled bit before checking its state, it is safe to wait for the
MV88E6185_G1_STS_PPU_STATE_DISABLED state explicitly instead of waiting
for any state different than MV88E6185_G1_STS_PPU_STATE_POLLING.

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx/global1.c

index 1323ef30a5e98e432959e865c485e3615505e857..bbd31c9f8b4873cabf34eda5a01e2551942805d9 100644 (file)
@@ -46,7 +46,7 @@ static int mv88e6185_g1_wait_ppu_disabled(struct mv88e6xxx_chip *chip)
 
                /* Check the value of the PPUState bits 15:14 */
                state &= MV88E6185_G1_STS_PPU_STATE_MASK;
-               if (state != MV88E6185_G1_STS_PPU_STATE_POLLING)
+               if (state == MV88E6185_G1_STS_PPU_STATE_DISABLED)
                        return 0;
 
                usleep_range(1000, 2000);