RDS: Fix BUG_ONs to not fire when in a tasklet
authorAndy Grover <andy.grover@oracle.com>
Sat, 13 Mar 2010 00:22:32 +0000 (16:22 -0800)
committerAndy Grover <andy.grover@oracle.com>
Thu, 9 Sep 2010 01:07:31 +0000 (18:07 -0700)
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>
net/rds/ib_rdma.c
net/rds/rdma.c

index a54cd63..a92aebc 100644 (file)
@@ -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);
                }
index 75fd13b..3b442d4 100644 (file)
@@ -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);