[bus] Fix bug when board contains only one port only.
authortzachid <tzachid@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 17 Nov 2009 13:00:17 +0000 (13:00 +0000)
committertzachid <tzachid@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 17 Nov 2009 13:00:17 +0000 (13:00 +0000)
Signed off by: urih@mellanox.co.il

git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2576 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

hw/mlx4/kernel/bus/drv/drv.c
hw/mlx4/kernel/bus/net/fw.c
hw/mlx4/kernel/bus/net/main.c

index 987cbcc..c949bf4 100644 (file)
@@ -235,7 +235,7 @@ Routine Description:
        number_of_ib_ports = mlx4_count_ib_ports(mdev);\r
        ASSERT(number_of_ib_ports >=0 && number_of_ib_ports <=2);\r
 \r
-       for (i = 1; i <= MLX4_MAX_PORTS; i++) {\r
+       for (i = 1; i <= mdev->caps.num_ports; i++) {\r
         if (mlx4_is_enabled_port(mdev, i)) {\r
             if(mlx4_is_eth_port(mdev, i)) {\r
                 status = __create_child(Device, ETH_HARDWARE_IDS, ETH_HARDWARE_DESCRIPTION, i);\r
index 347810e..3f2bfa3 100644 (file)
@@ -657,12 +657,12 @@ int mlx4_port_state(struct mlx4_dev *dev)
        int err = 0;
 
     
-    for (i = 1; i <= MLX4_MAX_PORTS; ++i)
+    for (i = 1; i <= dev->caps.num_ports; ++i)
     {
         dev->caps.port_state[i] = MLX4_PORT_ENABLED;
     }
     
-    for (i = 1; i <= MLX4_MAX_PORTS; ++i)
+    for (i = 1; i <= dev->caps.num_ports; ++i)
     {
         err = query_port_state(dev, i);
         if (err)
index 9f31dcf..b9087d4 100644 (file)
@@ -138,7 +138,7 @@ int mlx4_count_ib_ports(struct mlx4_dev *dev)
        int i;
        int count = 0;
 
-       for (i = 0; i < MLX4_MAX_PORTS; i++) {
+       for (i = 0; i < dev->caps.num_ports; i++) {
                if (dev->caps.port_type[i+1] == MLX4_PORT_TYPE_IB) {
                        count++;
                }