diff options
Diffstat (limited to 'net/rds/iw_rdma.c')
-rw-r--r-- | net/rds/iw_rdma.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/net/rds/iw_rdma.c b/net/rds/iw_rdma.c index de4a1b16bf7b..9eda11cca956 100644 --- a/net/rds/iw_rdma.c +++ b/net/rds/iw_rdma.c | |||
@@ -245,11 +245,8 @@ void __rds_iw_destroy_conns(struct list_head *list, spinlock_t *list_lock) | |||
245 | INIT_LIST_HEAD(list); | 245 | INIT_LIST_HEAD(list); |
246 | spin_unlock_irq(list_lock); | 246 | spin_unlock_irq(list_lock); |
247 | 247 | ||
248 | list_for_each_entry_safe(ic, _ic, &tmp_list, iw_node) { | 248 | list_for_each_entry_safe(ic, _ic, &tmp_list, iw_node) |
249 | if (ic->conn->c_passive) | ||
250 | rds_conn_destroy(ic->conn->c_passive); | ||
251 | rds_conn_destroy(ic->conn); | 249 | rds_conn_destroy(ic->conn); |
252 | } | ||
253 | } | 250 | } |
254 | 251 | ||
255 | static void rds_iw_set_scatterlist(struct rds_iw_scatterlist *sg, | 252 | static void rds_iw_set_scatterlist(struct rds_iw_scatterlist *sg, |
@@ -576,8 +573,8 @@ void rds_iw_free_mr(void *trans_private, int invalidate) | |||
576 | rds_iw_free_fastreg(pool, ibmr); | 573 | rds_iw_free_fastreg(pool, ibmr); |
577 | 574 | ||
578 | /* If we've pinned too many pages, request a flush */ | 575 | /* If we've pinned too many pages, request a flush */ |
579 | if (atomic_read(&pool->free_pinned) >= pool->max_free_pinned | 576 | if (atomic_read(&pool->free_pinned) >= pool->max_free_pinned || |
580 | || atomic_read(&pool->dirty_count) >= pool->max_items / 10) | 577 | atomic_read(&pool->dirty_count) >= pool->max_items / 10) |
581 | queue_work(rds_wq, &pool->flush_worker); | 578 | queue_work(rds_wq, &pool->flush_worker); |
582 | 579 | ||
583 | if (invalidate) { | 580 | if (invalidate) { |