Changeset 35581


Ignore:
Timestamp:
2013-02-13T17:03:27+01:00 (5 years ago)
Author:
hauke
Message:

switch: reverse if else in handle_vlan_port_read()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/switch/src/switch-robo.c

    r35580 r35581  
    420420        val16 = (nr) /* vlan */ | (0 << 12) /* read */ | (1 << 13) /* enable */; 
    421421 
    422         if (!robo.is_5365) { 
    423                 u32 val32; 
    424                 robo_write16(ROBO_VLAN_PAGE, ROBO_VLAN_TABLE_ACCESS, val16); 
     422        if (robo.is_5365) { 
     423                robo_write16(ROBO_VLAN_PAGE, ROBO_VLAN_TABLE_ACCESS_5365, val16); 
    425424                /* actual read */ 
    426                 val32 = robo_read32(ROBO_VLAN_PAGE, ROBO_VLAN_READ); 
    427                 if ((val32 & (1 << 20)) /* valid */) { 
     425                val16 = robo_read16(ROBO_VLAN_PAGE, ROBO_VLAN_READ); 
     426                if ((val16 & (1 << 14)) /* valid */) { 
    428427                        for (j = 0; j < 6; j++) { 
    429                                 if (val32 & (1 << j)) { 
     428                                if (val16 & (1 << j)) { 
    430429                                        len += sprintf(buf + len, "%d", j); 
    431                                         if (val32 & (1 << (j + 6))) { 
    432                                                 if (j == 5) buf[len++] = 'u'; 
     430                                        if (val16 & (1 << (j + 7))) { 
     431                                                if (j == 5) 
     432                                                        buf[len++] = 'u'; 
    433433                                        } else { 
    434434                                                buf[len++] = 't'; 
     
    442442                } 
    443443        } else { 
    444                 robo_write16(ROBO_VLAN_PAGE, ROBO_VLAN_TABLE_ACCESS_5365, val16); 
     444                u32 val32; 
     445                robo_write16(ROBO_VLAN_PAGE, ROBO_VLAN_TABLE_ACCESS, val16); 
    445446                /* actual read */ 
    446                 val16 = robo_read16(ROBO_VLAN_PAGE, ROBO_VLAN_READ); 
    447                 if ((val16 & (1 << 14)) /* valid */) { 
     447                val32 = robo_read32(ROBO_VLAN_PAGE, ROBO_VLAN_READ); 
     448                if ((val32 & (1 << 20)) /* valid */) { 
    448449                        for (j = 0; j < 6; j++) { 
    449                                 if (val16 & (1 << j)) { 
     450                                if (val32 & (1 << j)) { 
    450451                                        len += sprintf(buf + len, "%d", j); 
    451                                         if (val16 & (1 << (j + 7))) { 
    452                                                 if (j == 5) buf[len++] = 'u'; 
     452                                        if (val32 & (1 << (j + 6))) { 
     453                                                if (j == 5) 
     454                                                        buf[len++] = 'u'; 
    453455                                        } else { 
    454456                                                buf[len++] = 't'; 
Note: See TracChangeset for help on using the changeset viewer.