octeon: fix edgerouter pro ethernet device probe order
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41575
This commit is contained in:
		@@ -0,0 +1,34 @@
 | 
			
		||||
--- a/drivers/staging/octeon/ethernet.c
 | 
			
		||||
+++ b/drivers/staging/octeon/ethernet.c
 | 
			
		||||
@@ -623,6 +623,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;
 | 
			
		||||
 
 | 
			
		||||
 	octeon_mdiobus_force_mod_depencency();
 | 
			
		||||
@@ -706,13 +707,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);
 | 
			
		||||
 		     port_index++, port++) {
 | 
			
		||||
		Reference in New Issue
	
	Block a user