On 26/04/2020 10:17, Maor Gottlieb wrote: > Following patch adds additional argument to the create AH function, > so it make sense to group ah_attr and flags arguments in struct. > > Signed-off-by: Maor Gottlieb <maorg@xxxxxxxxxxxx> RDMA driver maintainers should probably be CC'd. > diff --git a/drivers/infiniband/hw/efa/efa.h b/drivers/infiniband/hw/efa/efa.h > index aa7396a1588a..45d519edb4c3 100644 > --- a/drivers/infiniband/hw/efa/efa.h > +++ b/drivers/infiniband/hw/efa/efa.h > @@ -153,8 +153,7 @@ int efa_mmap(struct ib_ucontext *ibucontext, > struct vm_area_struct *vma); > void efa_mmap_free(struct rdma_user_mmap_entry *rdma_entry); > int efa_create_ah(struct ib_ah *ibah, > - struct rdma_ah_attr *ah_attr, > - u32 flags, > + struct rdma_ah_init_attr *init_attr, > struct ib_udata *udata); > void efa_destroy_ah(struct ib_ah *ibah, u32 flags); > int efa_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *qp_attr, > diff --git a/drivers/infiniband/hw/efa/efa_verbs.c b/drivers/infiniband/hw/efa/efa_verbs.c > index 5c57098a4aee..454b01b21e6a 100644 > --- a/drivers/infiniband/hw/efa/efa_verbs.c > +++ b/drivers/infiniband/hw/efa/efa_verbs.c > @@ -1639,10 +1639,10 @@ static int efa_ah_destroy(struct efa_dev *dev, struct efa_ah *ah) > } > > int efa_create_ah(struct ib_ah *ibah, > - struct rdma_ah_attr *ah_attr, > - u32 flags, > + struct rdma_ah_init_attr *init_attr, > struct ib_udata *udata) > { > + struct rdma_ah_attr *ah_attr = init_attr->ah_attr; > struct efa_dev *dev = to_edev(ibah->device); > struct efa_com_create_ah_params params = {}; > struct efa_ibv_create_ah_resp resp = {}; > @@ -1650,7 +1650,7 @@ int efa_create_ah(struct ib_ah *ibah, > struct efa_ah *ah = to_eah(ibah); > int err; > > - if (!(flags & RDMA_CREATE_AH_SLEEPABLE)) { > + if (!(init_attr->flags & RDMA_CREATE_AH_SLEEPABLE)) { > ibdev_dbg(&dev->ibdev, > "Create address handle is not supported in atomic context\n"); > err = -EOPNOTSUPP; EFA part looks good, Acked-by: Gal Pressman <galpress@xxxxxxxxxx>