Changeset 24936


Ignore:
Timestamp:
2011-01-08T21:24:18+01:00 (7 years ago)
Author:
juhosg
Message:

generic: rtl8366_smi: init VLANs only in first switch initialization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c

    r24933 r24936  
    508508        } 
    509509 
    510         for (i = 0; i < smi->num_ports; i++) { 
    511                 if (i == smi->cpu_port) 
    512                         continue; 
    513  
    514                 err = rtl8366_set_vlan(smi, (i + 1), 
    515                                         (1 << i) | (1 << smi->cpu_port), 
    516                                         (1 << i) | (1 << smi->cpu_port), 
    517                                         0); 
     510        return 0; 
     511} 
     512EXPORT_SYMBOL_GPL(rtl8366_reset_vlan); 
     513 
     514static int rtl8366_init_vlan(struct rtl8366_smi *smi) 
     515{ 
     516        int port; 
     517        int err; 
     518 
     519        err = rtl8366_reset_vlan(smi); 
     520        if (err) 
     521                return err; 
     522 
     523        for (port = 0; port < smi->num_ports; port++) { 
     524                u32 mask; 
     525 
     526                if (port == smi->cpu_port) 
     527                        mask = (1 << smi->num_ports) - 1; 
     528                else 
     529                        mask = (1 << port) | (1 << smi->cpu_port); 
     530 
     531                err = rtl8366_set_vlan(smi, (port + 1), mask, mask, 0); 
    518532                if (err) 
    519533                        return err; 
    520534 
    521                 err = rtl8366_set_pvid(smi, i, (i + 1)); 
     535                err = rtl8366_set_pvid(smi, port, (port + 1)); 
    522536                if (err) 
    523537                        return err; 
    524538        } 
    525539 
    526         return 0; 
    527 } 
    528 EXPORT_SYMBOL_GPL(rtl8366_reset_vlan); 
     540        return rtl8366_enable_vlan(smi, 1); 
     541} 
    529542 
    530543#ifdef CONFIG_RTL8366S_PHY_DEBUG_FS 
     
    11701183        } 
    11711184 
     1185        err = rtl8366_init_vlan(smi); 
     1186        if (err) { 
     1187                dev_err(smi->parent, "VLAN initialization failed, err=%d\n", 
     1188                        err); 
     1189                goto err_disable_hw; 
     1190        } 
     1191 
    11721192        err = rtl8366_smi_mii_init(smi); 
    11731193        if (err) 
Note: See TracChangeset for help on using the changeset viewer.