mlx4: Use actual number of PCI functions (PF + VFs) for alias GUID logic
authorMatan Barak <matanb@mellanox.com>
Sun, 23 Mar 2014 07:50:43 +0000 (09:50 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 26 Mar 2014 00:48:05 +0000 (20:48 -0400)
The code which is dealing with SRIOV alias GUIDs in the mlx4 IB driver has some
logic which operated according to the maximal possible active functions (PF + VFs).

After the single port VFs code integration this resulted in a flow of false-positive
warnings going to the kernel log after the PF driver started the alias GUID work.

Fix it by referring to the actual number of functions.

Signed-off-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/infiniband/hw/mlx4/alias_GUID.c

index 2f215b93db6ba5a68b6d7e6fc38d21c91ff0cfa9..0eb141c41416cd89c99a3529df3e1dd0f2246234 100644 (file)
@@ -154,7 +154,7 @@ void mlx4_ib_notify_slaves_on_guid_change(struct mlx4_ib_dev *dev,
                        continue;
 
                slave_id = (block_num * NUM_ALIAS_GUID_IN_REC) + i ;
-               if (slave_id >= dev->dev->num_slaves)
+               if (slave_id >= dev->dev->num_vfs + 1)
                        return;
                tmp_cur_ag = *(__be64 *)&p_data[i * GUID_REC_SIZE];
                form_cache_ag = get_cached_alias_guid(dev, port_num,