RDMA/core: Fix empty gid table for non IB/RoCE devices
authorGal Pressman <galpress@amazon.com>
Sun, 6 Dec 2020 15:32:38 +0000 (17:32 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 7 Dec 2020 20:32:04 +0000 (16:32 -0400)
The query_gid_table ioctl skips non IB/RoCE ports, which as a result
returns an empty gid table for devices such as EFA which have a GID table,
but are not IB/RoCE.

Fixes: c4b4d548fabc ("RDMA/core: Introduce new GID table query API")
Link: https://lore.kernel.org/r/20201206153238.34878-1-galpress@amazon.com
Signed-off-by: Gal Pressman <galpress@amazon.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/core/cache.c

index 8017c40..7989b7e 100644 (file)
@@ -1269,9 +1269,6 @@ ssize_t rdma_query_gid_table(struct ib_device *device,
        unsigned long flags;
 
        rdma_for_each_port(device, port_num) {
-               if (!rdma_ib_or_roce(device, port_num))
-                       continue;
-
                table = rdma_gid_table(device, port_num);
                read_lock_irqsave(&table->rwlock, flags);
                for (i = 0; i < table->sz; i++) {