diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index feb5a2ac724ce7dba4af79cf293aba5e4c9ba35d..c3b628c761943e9fd79caabb57c086774fd5b5c3 100644 --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c @@ -2336,7 +2336,6 @@ static void con_work(struct work_struct *work) return; fault: - mutex_unlock(&con->mutex); ceph_fault(con); /* error/fault path */ goto done_unlocked; } @@ -2347,9 +2346,8 @@ static void con_work(struct work_struct *work) * exponential backoff */ static void ceph_fault(struct ceph_connection *con) + __releases(con->mutex) { - mutex_lock(&con->mutex); - pr_err("%s%lld %s %s\n", ENTITY_NAME(con->peer_name), ceph_pr_addr(&con->peer_addr.in_addr), con->error_msg); dout("fault %p state %lu to peer %s\n",