diff options
Diffstat (limited to 'drivers/infiniband/core/cm.c')
-rw-r--r-- | drivers/infiniband/core/cm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c index 1d92e091e22e..c99525512b34 100644 --- a/drivers/infiniband/core/cm.c +++ b/drivers/infiniband/core/cm.c | |||
@@ -3452,14 +3452,14 @@ static int cm_establish(struct ib_cm_id *cm_id) | |||
3452 | work->cm_event.event = IB_CM_USER_ESTABLISHED; | 3452 | work->cm_event.event = IB_CM_USER_ESTABLISHED; |
3453 | 3453 | ||
3454 | /* Check if the device started its remove_one */ | 3454 | /* Check if the device started its remove_one */ |
3455 | spin_lock_irq(&cm.lock); | 3455 | spin_lock_irqsave(&cm.lock, flags); |
3456 | if (!cm_dev->going_down) { | 3456 | if (!cm_dev->going_down) { |
3457 | queue_delayed_work(cm.wq, &work->work, 0); | 3457 | queue_delayed_work(cm.wq, &work->work, 0); |
3458 | } else { | 3458 | } else { |
3459 | kfree(work); | 3459 | kfree(work); |
3460 | ret = -ENODEV; | 3460 | ret = -ENODEV; |
3461 | } | 3461 | } |
3462 | spin_unlock_irq(&cm.lock); | 3462 | spin_unlock_irqrestore(&cm.lock, flags); |
3463 | 3463 | ||
3464 | out: | 3464 | out: |
3465 | return ret; | 3465 | return ret; |