{
        u8 learn[DSA_MAX_PORTS];
        int first, index, cnt;
-       struct ksz_port *p;
        const u16 *regs;
 
        regs = dev->info->regs;
                cnt = dev->info->port_cnt;
        }
        for (index = first; index < cnt; index++) {
-               p = &dev->ports[index];
-               if (!p->on)
-                       continue;
                ksz_pread8(dev, index, regs[P_STP_CTRL], &learn[index]);
                if (!(learn[index] & PORT_LEARN_DISABLE))
                        ksz_pwrite8(dev, index, regs[P_STP_CTRL],
        }
        ksz_cfg(dev, S_FLUSH_TABLE_CTRL, SW_FLUSH_DYN_MAC_TABLE, true);
        for (index = first; index < cnt; index++) {
-               p = &dev->ports[index];
-               if (!p->on)
-                       continue;
                if (!(learn[index] & PORT_LEARN_DISABLE))
                        ksz_pwrite8(dev, index, regs[P_STP_CTRL], learn[index]);
        }
 
        ksz_cfg(dev, regs[S_TAIL_TAG_CTRL], masks[SW_TAIL_TAG_ENABLE], true);
 
-       p = &dev->ports[dev->cpu_port];
-       p->on = 1;
-
        ksz8_port_setup(dev, dev->cpu_port, true);
 
        for (i = 0; i < dev->phy_port_cnt; i++) {
-               p = &dev->ports[i];
-
                ksz_port_stp_state_set(ds, i, BR_STATE_DISABLED);
-
-               /* Last port may be disabled. */
-               if (i == dev->phy_port_cnt)
-                       break;
-               p->on = 1;
        }
        for (i = 0; i < dev->phy_port_cnt; i++) {
                p = &dev->ports[i];
-               if (!p->on)
-                       continue;
+
                if (!ksz_is_ksz88x3(dev)) {
                        ksz_pread8(dev, i, regs[P_REMOTE_STATUS], &remote);
                        if (remote & KSZ8_PORT_FIBER_MODE)