diff options
author | Santosh Shilimkar <santosh.shilimkar@oracle.com> | 2015-09-19 14:01:09 -0400 |
---|---|---|
committer | Santosh Shilimkar <santosh.shilimkar@oracle.com> | 2015-10-05 11:19:01 -0700 |
commit | 9441c973e1e0e9885537a3a86020fe8e121e9a98 (patch) | |
tree | 08ea116b4ab083056f324952c2392e1be7cf4f69 /net/rds/ib_cm.c | |
parent | 0c28c04500cf956c82d542c199f5bddabd590af3 (diff) | |
download | op-kernel-dev-9441c973e1e0e9885537a3a86020fe8e121e9a98.zip op-kernel-dev-9441c973e1e0e9885537a3a86020fe8e121e9a98.tar.gz |
RDS: IB: handle rds_ibdev release case instead of crashing the kernel
Just in case we are still handling the QP receive completion while the
rds_ibdev is released, drop the connection instead of crashing the kernel.
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
Diffstat (limited to 'net/rds/ib_cm.c')
-rw-r--r-- | net/rds/ib_cm.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/rds/ib_cm.c b/net/rds/ib_cm.c index 8f51d0d..2b2370e 100644 --- a/net/rds/ib_cm.c +++ b/net/rds/ib_cm.c @@ -285,7 +285,8 @@ static void rds_ib_tasklet_fn_recv(unsigned long data) struct rds_ib_device *rds_ibdev = ic->rds_ibdev; struct rds_ib_ack_state state; - BUG_ON(!rds_ibdev); + if (!rds_ibdev) + rds_conn_drop(conn); rds_ib_stats_inc(s_ib_tasklet_call); |