Commit a276a4d9 authored by Gal Pressman's avatar Gal Pressman Committed by Jason Gunthorpe

RDMA/vmw_pvrdma: Use atomic memory allocation in create AH

Create address handle callback should not sleep, use GFP_ATOMIC instead of
GFP_KERNEL for memory allocation.

Fixes: 29c8d9eb ("IB: Add vmw_pvrdma driver")
Cc: Adit Ranadive <aditr@vmware.com>
Signed-off-by: default avatarGal Pressman <galpress@amazon.com>
Reviewed-by: default avatarYuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 59590b8a
...@@ -555,7 +555,7 @@ struct ib_ah *pvrdma_create_ah(struct ib_pd *pd, struct rdma_ah_attr *ah_attr, ...@@ -555,7 +555,7 @@ struct ib_ah *pvrdma_create_ah(struct ib_pd *pd, struct rdma_ah_attr *ah_attr,
if (!atomic_add_unless(&dev->num_ahs, 1, dev->dsr->caps.max_ah)) if (!atomic_add_unless(&dev->num_ahs, 1, dev->dsr->caps.max_ah))
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
ah = kzalloc(sizeof(*ah), GFP_KERNEL); ah = kzalloc(sizeof(*ah), GFP_ATOMIC);
if (!ah) { if (!ah) {
atomic_dec(&dev->num_ahs); atomic_dec(&dev->num_ahs);
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment