|
@@ -134,8 +134,12 @@ static int rds_loop_conn_alloc(struct rds_connection *conn, gfp_t gfp)
|
|
static void rds_loop_conn_free(void *arg)
|
|
static void rds_loop_conn_free(void *arg)
|
|
{
|
|
{
|
|
struct rds_loop_connection *lc = arg;
|
|
struct rds_loop_connection *lc = arg;
|
|
|
|
+ unsigned long flags;
|
|
|
|
+
|
|
rdsdebug("lc %p\n", lc);
|
|
rdsdebug("lc %p\n", lc);
|
|
|
|
+ spin_lock_irqsave(&loop_conns_lock, flags);
|
|
list_del(&lc->loop_node);
|
|
list_del(&lc->loop_node);
|
|
|
|
+ spin_unlock_irqrestore(&loop_conns_lock, flags);
|
|
kfree(lc);
|
|
kfree(lc);
|
|
}
|
|
}
|
|
|
|
|