瀏覽代碼

RDS: Fix BUG_ONs to not fire when in a tasklet

in_interrupt() is true in softirqs. The BUG_ONs are supposed
to check for if irqs are disabled, so we should use
BUG_ON(irqs_disabled()) instead, duh.

Signed-off-by: Andy Grover <andy.grover@oracle.com>
Andy Grover 15 年之前
父節點
當前提交
9e2effba2c
共有 2 個文件被更改,包括 2 次插入2 次删除
  1. 1 1
      net/rds/ib_rdma.c
  2. 1 1
      net/rds/rdma.c

+ 1 - 1
net/rds/ib_rdma.c

@@ -441,7 +441,7 @@ static void __rds_ib_teardown_mr(struct rds_ib_mr *ibmr)
 
 			/* FIXME we need a way to tell a r/w MR
 			 * from a r/o MR */
-			BUG_ON(in_interrupt());
+			BUG_ON(irqs_disabled());
 			set_page_dirty(page);
 			put_page(page);
 		}

+ 1 - 1
net/rds/rdma.c

@@ -440,7 +440,7 @@ void rds_rdma_free_op(struct rds_rdma_op *ro)
 		 * is the case for a RDMA_READ which copies from remote
 		 * to local memory */
 		if (!ro->r_write) {
-			BUG_ON(in_interrupt());
+			BUG_ON(irqs_disabled());
 			set_page_dirty(page);
 		}
 		put_page(page);