| --- a/drivers/staging/octeon/ethernet.c |
| +++ b/drivers/staging/octeon/ethernet.c |
| @@ -683,6 +683,7 @@ static int cvm_oct_probe(struct platform |
| int interface; |
| int fau = FAU_NUM_PACKET_BUFFERS_TO_FREE; |
| int qos; |
| + int i; |
| struct device_node *pip; |
| int mtu_overhead = ETH_HLEN + ETH_FCS_LEN; |
| |
| @@ -806,13 +807,19 @@ static int cvm_oct_probe(struct platform |
| } |
| |
| num_interfaces = cvmx_helper_get_number_of_interfaces(); |
| - for (interface = 0; interface < num_interfaces; interface++) { |
| - cvmx_helper_interface_mode_t imode = |
| - cvmx_helper_interface_get_mode(interface); |
| - int num_ports = cvmx_helper_ports_on_interface(interface); |
| + for (i = 0; i < num_interfaces; i++) { |
| + cvmx_helper_interface_mode_t imode; |
| + int interface; |
| + int num_ports; |
| int port; |
| int port_index; |
| |
| + interface = i; |
| + if (cvmx_sysinfo_get()->board_type == CVMX_BOARD_TYPE_UBNT_E200) |
| + interface = num_interfaces - (i + 1); |
| + |
| + num_ports = cvmx_helper_ports_on_interface(interface); |
| + imode = cvmx_helper_interface_get_mode(interface); |
| for (port_index = 0, |
| port = cvmx_helper_get_ipd_port(interface, 0); |
| port < cvmx_helper_get_ipd_port(interface, num_ports); |