[IB] uverbs: unlock correctly in error paths
A couple of functions were missing spin_unlock calls in error paths. Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
5b6810e048
commit
305a7e8705
|
@ -312,8 +312,10 @@ void ib_uverbs_comp_handler(struct ib_cq *cq, void *cq_context)
|
||||||
}
|
}
|
||||||
|
|
||||||
entry = kmalloc(sizeof *entry, GFP_ATOMIC);
|
entry = kmalloc(sizeof *entry, GFP_ATOMIC);
|
||||||
if (!entry)
|
if (!entry) {
|
||||||
|
spin_unlock_irqrestore(&file->lock, flags);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
uobj = container_of(cq->uobject, struct ib_ucq_object, uobject);
|
uobj = container_of(cq->uobject, struct ib_ucq_object, uobject);
|
||||||
|
|
||||||
|
@ -343,8 +345,10 @@ static void ib_uverbs_async_handler(struct ib_uverbs_file *file,
|
||||||
}
|
}
|
||||||
|
|
||||||
entry = kmalloc(sizeof *entry, GFP_ATOMIC);
|
entry = kmalloc(sizeof *entry, GFP_ATOMIC);
|
||||||
if (!entry)
|
if (!entry) {
|
||||||
|
spin_unlock_irqrestore(&file->async_file->lock, flags);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
entry->desc.async.element = element;
|
entry->desc.async.element = element;
|
||||||
entry->desc.async.event_type = event;
|
entry->desc.async.event_type = event;
|
||||||
|
|
Loading…
Reference in New Issue