diff options
| author | Tony Lindgren <tony@atomide.com> | 2012-11-13 13:25:38 -0800 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2012-11-13 13:25:38 -0800 |
| commit | 89ab216b33ba9405880fd3d89531305a931bc70f (patch) | |
| tree | 8f6428ce51ecaed6f6e1379c036dbe341eb71e34 /net/ceph/messenger.c | |
| parent | c9d501e5cb0238910337213e12a09127221c35d8 (diff) | |
| parent | 46bf4a562207c5ebd24e1dde5e5ee326cd3d6b91 (diff) | |
| download | olio-linux-3.10-89ab216b33ba9405880fd3d89531305a931bc70f.tar.xz olio-linux-3.10-89ab216b33ba9405880fd3d89531305a931bc70f.zip | |
Merge branch 'omap-for-v3.8/pm' into omap-for-v3.8/clock
Diffstat (limited to 'net/ceph/messenger.c')
| -rw-r--r-- | net/ceph/messenger.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c index 159aa8bef9e..3ef1759403b 100644 --- a/net/ceph/messenger.c +++ b/net/ceph/messenger.c @@ -2300,10 +2300,11 @@ restart: mutex_unlock(&con->mutex); return; } else { - con->ops->put(con); dout("con_work %p FAILED to back off %lu\n", con, con->delay); + set_bit(CON_FLAG_BACKOFF, &con->flags); } + goto done; } if (con->state == CON_STATE_STANDBY) { @@ -2749,7 +2750,8 @@ static int ceph_con_in_msg_alloc(struct ceph_connection *con, int *skip) msg = con->ops->alloc_msg(con, hdr, skip); mutex_lock(&con->mutex); if (con->state != CON_STATE_OPEN) { - ceph_msg_put(msg); + if (msg) + ceph_msg_put(msg); return -EAGAIN; } con->in_msg = msg; |