浏览代码

IB/ehca: Fix mismatched spin_unlock in irq handler

The lock is taken with _irqsave and hence must be released with
_irqrestore on all paths.

Signed-off-by Hoang-Nam Nguyen <hnguyen@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Hoang-Nam Nguyen 18 年之前
父节点
当前提交
cea9ea67e9
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      drivers/infiniband/hw/ehca/ehca_irq.c

+ 2 - 1
drivers/infiniband/hw/ehca/ehca_irq.c

@@ -440,7 +440,8 @@ void ehca_tasklet_eq(unsigned long data)
 					cq = idr_find(&ehca_cq_idr, token);
 
 					if (cq == NULL) {
-						spin_unlock(&ehca_cq_idr_lock);
+						spin_unlock_irqrestore(&ehca_cq_idr_lock,
+								       flags);
 						break;
 					}