diff options
Diffstat (limited to 'net/rds/ib_rdma.c')
-rw-r--r-- | net/rds/ib_rdma.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/net/rds/ib_rdma.c b/net/rds/ib_rdma.c index ef3ab5b7283e..4b0da865a72c 100644 --- a/net/rds/ib_rdma.c +++ b/net/rds/ib_rdma.c | |||
@@ -187,11 +187,8 @@ void __rds_ib_destroy_conns(struct list_head *list, spinlock_t *list_lock) | |||
187 | INIT_LIST_HEAD(list); | 187 | INIT_LIST_HEAD(list); |
188 | spin_unlock_irq(list_lock); | 188 | spin_unlock_irq(list_lock); |
189 | 189 | ||
190 | list_for_each_entry_safe(ic, _ic, &tmp_list, ib_node) { | 190 | list_for_each_entry_safe(ic, _ic, &tmp_list, ib_node) |
191 | if (ic->conn->c_passive) | ||
192 | rds_conn_destroy(ic->conn->c_passive); | ||
193 | rds_conn_destroy(ic->conn); | 191 | rds_conn_destroy(ic->conn); |
194 | } | ||
195 | } | 192 | } |
196 | 193 | ||
197 | struct rds_ib_mr_pool *rds_ib_create_mr_pool(struct rds_ib_device *rds_ibdev) | 194 | struct rds_ib_mr_pool *rds_ib_create_mr_pool(struct rds_ib_device *rds_ibdev) |
@@ -573,8 +570,8 @@ void rds_ib_free_mr(void *trans_private, int invalidate) | |||
573 | spin_unlock_irqrestore(&pool->list_lock, flags); | 570 | spin_unlock_irqrestore(&pool->list_lock, flags); |
574 | 571 | ||
575 | /* If we've pinned too many pages, request a flush */ | 572 | /* If we've pinned too many pages, request a flush */ |
576 | if (atomic_read(&pool->free_pinned) >= pool->max_free_pinned | 573 | if (atomic_read(&pool->free_pinned) >= pool->max_free_pinned || |
577 | || atomic_read(&pool->dirty_count) >= pool->max_items / 10) | 574 | atomic_read(&pool->dirty_count) >= pool->max_items / 10) |
578 | queue_work(rds_wq, &pool->flush_worker); | 575 | queue_work(rds_wq, &pool->flush_worker); |
579 | 576 | ||
580 | if (invalidate) { | 577 | if (invalidate) { |