On Wed, Mar 28, 2018 at 03:43:39PM +0300, Leon Romanovsky wrote: > From: Parav Pandit <parav@xxxxxxxxxxxx> > > ib_query_gid() fetches the GID from the software cache maintained in > ib_core for RoCE ports. > Therefore, simplify the provider drivers for RoCE to treat query_gid() > callback as no-op. > > Signed-off-by: Parav Pandit <parav@xxxxxxxxxxxx> > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > --- > drivers/infiniband/hw/mlx4/main.c | 17 +---------------- > drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 14 +------------- > drivers/infiniband/hw/qedr/verbs.c | 17 +---------------- > drivers/infiniband/sw/rxe/rxe_verbs.c | 13 +------------ > 4 files changed, 4 insertions(+), 57 deletions(-) > > static int mlx4_ib_query_sl2vl(struct ib_device *ibdev, u8 port, u64 *sl2vl_tbl) > diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c > index 1e3dc92bc37b..5e503b0cdad6 100644 > --- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c > +++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c > @@ -65,19 +65,7 @@ int ocrdma_query_pkey(struct ib_device *ibdev, u8 port, u16 index, u16 *pkey) > int ocrdma_query_gid(struct ib_device *ibdev, u8 port, > int index, union ib_gid *sgid) > { > - int ret; > - > - memset(sgid, 0, sizeof(*sgid)); > - if (index >= OCRDMA_MAX_SGID) > - return -EINVAL; > - > - ret = ib_get_cached_gid(ibdev, port, index, sgid, NULL); > - if (ret == -EAGAIN) { > - memcpy(sgid, &zgid, sizeof(*sgid)); > - return 0; > - } > - > - return ret; > + return 0; > } I like this patch, but instead of leaving dummy return 0' functions in the driver can you delete them and do this instead: @@ -884,6 +884,9 @@ int ib_query_gid(struct ib_device *device, if (attr) return -EINVAL; + if (!device->query_gid) + return -EOPNOTSUPP; + return device->query_gid(device, port_num, index, gid); } EXPORT_SYMBOL(ib_query_gid); ?? Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html