|
@@ -427,10 +427,12 @@ int tipc_conn_sendmsg(struct tipc_server *s, int conid,
|
|
list_add_tail(&e->list, &con->outqueue);
|
|
list_add_tail(&e->list, &con->outqueue);
|
|
spin_unlock_bh(&con->outqueue_lock);
|
|
spin_unlock_bh(&con->outqueue_lock);
|
|
|
|
|
|
- if (test_bit(CF_CONNECTED, &con->flags))
|
|
|
|
|
|
+ if (test_bit(CF_CONNECTED, &con->flags)) {
|
|
if (!queue_work(s->send_wq, &con->swork))
|
|
if (!queue_work(s->send_wq, &con->swork))
|
|
conn_put(con);
|
|
conn_put(con);
|
|
-
|
|
|
|
|
|
+ } else {
|
|
|
|
+ conn_put(con);
|
|
|
|
+ }
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|