IB/core: Generate GID change event regardless of RoCE GID table property
authorParav Pandit <parav@mellanox.com>
Sun, 25 Mar 2018 10:40:20 +0000 (13:40 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 27 Mar 2018 22:22:12 +0000 (16:22 -0600)
Due to following reasons, GID table event is generated regardless of GID
table property.

1. GID table cache is maintained at ib core layer regardless of link layer.
2. GID change event has no relation with IB link layer.
3. GID change event also doesn't depend on whether HCA supports GID table
or not.

Fixes: f3906bd36087 ("IB/core: Refactor GID cache's ib_dispatch_event")
Signed-off-by: Parav Pandit <parav@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/core/cache.c

index 5b9416af825bf54dce3ad070ad7a8be6b8fd785f..4f77043424104fdb121b32fb92d2c2a6f8101399 100644 (file)
@@ -116,15 +116,13 @@ struct ib_gid_table {
 
 static void dispatch_gid_change_event(struct ib_device *ib_dev, u8 port)
 {
-       if (rdma_cap_roce_gid_table(ib_dev, port)) {
-               struct ib_event event;
+       struct ib_event event;
 
-               event.device            = ib_dev;
-               event.element.port_num  = port;
-               event.event             = IB_EVENT_GID_CHANGE;
+       event.device            = ib_dev;
+       event.element.port_num  = port;
+       event.event             = IB_EVENT_GID_CHANGE;
 
-               ib_dispatch_event(&event);
-       }
+       ib_dispatch_event(&event);
 }
 
 static const char * const gid_type_str[] = {