diff options
author | John Crispin <blogic@openwrt.org> | 2014-12-05 00:20:10 +0000 |
---|---|---|
committer | John Crispin <blogic@openwrt.org> | 2014-12-05 00:20:10 +0000 |
commit | b7bce4449ef4916dd27140b8bcf60fdf31140439 (patch) | |
tree | 879676ba243f02f7bbf52f5f470154cc819d5767 /target/linux/octeon/patches-3.18/110-er200-ethernet_probe_order.patch | |
parent | 9ee6f0be3b4c0d4476a827ecc5dbe5b2fff36de4 (diff) | |
download | master-187ad058-b7bce4449ef4916dd27140b8bcf60fdf31140439.tar.gz master-187ad058-b7bce4449ef4916dd27140b8bcf60fdf31140439.tar.bz2 master-187ad058-b7bce4449ef4916dd27140b8bcf60fdf31140439.zip |
octeon: add support for 3.18 kernel
Runtime tested on Ubiquiti EdgeRouter Lite.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43519 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/octeon/patches-3.18/110-er200-ethernet_probe_order.patch')
-rw-r--r-- | target/linux/octeon/patches-3.18/110-er200-ethernet_probe_order.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/target/linux/octeon/patches-3.18/110-er200-ethernet_probe_order.patch b/target/linux/octeon/patches-3.18/110-er200-ethernet_probe_order.patch new file mode 100644 index 0000000000..f5a943cf46 --- /dev/null +++ b/target/linux/octeon/patches-3.18/110-er200-ethernet_probe_order.patch @@ -0,0 +1,34 @@ +--- a/drivers/staging/octeon/ethernet.c ++++ b/drivers/staging/octeon/ethernet.c +@@ -620,6 +620,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(); +@@ -705,13 +706,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); |