From 448be64f299f5ceaf00bafe624577a26ff82fd5f Mon Sep 17 00:00:00 2001 From: Roland Dreier Date: Tue, 11 Oct 2005 15:39:38 -0700 Subject: [PATCH] --- yaml --- r: 10707 b: refs/heads/master c: 305a7e87055dde2466a855c24ef51a606915d149 h: refs/heads/master i: 10705: 1569a6d816b8073f99740ca66f5b9c031cd5f76b 10703: 58a5efca7411dc52b9b5b8d1fb5ab503a5dbc889 v: v3 --- [refs] | 2 +- trunk/drivers/infiniband/core/uverbs_main.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 6c22453d02f9..35fd0419b6c5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5b6810e048435de508ef66aebd6b78db13d651b8 +refs/heads/master: 305a7e87055dde2466a855c24ef51a606915d149 diff --git a/trunk/drivers/infiniband/core/uverbs_main.c b/trunk/drivers/infiniband/core/uverbs_main.c index c84cc28b60ee..3a887006b253 100644 --- a/trunk/drivers/infiniband/core/uverbs_main.c +++ b/trunk/drivers/infiniband/core/uverbs_main.c @@ -312,8 +312,10 @@ void ib_uverbs_comp_handler(struct ib_cq *cq, void *cq_context) } entry = kmalloc(sizeof *entry, GFP_ATOMIC); - if (!entry) + if (!entry) { + spin_unlock_irqrestore(&file->lock, flags); return; + } 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); - if (!entry) + if (!entry) { + spin_unlock_irqrestore(&file->async_file->lock, flags); return; + } entry->desc.async.element = element; entry->desc.async.event_type = event;