]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/dsa/mv88e6131.c
Merge branch 'x86-olpc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[karo-tx-linux.git] / net / dsa / mv88e6131.c
index 45f7411e90baf02fbed1642676f6448b74d024cb..9bd1061fa4ee5f6ef0b88b838c458d47603d541a 100644 (file)
@@ -118,10 +118,14 @@ static int mv88e6131_setup_global(struct dsa_switch *ds)
        REG_WRITE(REG_GLOBAL, 0x1a, (dsa_upstream_port(ds) * 0x1100) | 0x00f0);
 
        /*
-        * Disable cascade port functionality, and set the switch's
+        * Disable cascade port functionality unless this device
+        * is used in a cascade configuration, and set the switch's
         * DSA device number.
         */
-       REG_WRITE(REG_GLOBAL, 0x1c, 0xe000 | (ds->index & 0x1f));
+       if (ds->dst->pd->nr_chips > 1)
+               REG_WRITE(REG_GLOBAL, 0x1c, 0xf000 | (ds->index & 0x1f));
+       else
+               REG_WRITE(REG_GLOBAL, 0x1c, 0xe000 | (ds->index & 0x1f));
 
        /*
         * Send all frames with destination addresses matching