xs_tcp_read_callback() drops the connection when the number of expected callbacks is exceeded. Use xprt_force_disconnect(), ensuring tasks on the pending queue are awaken on disconnect. Signed-off-by: Ricardo Labiaga <Ricardo.Labiaga@xxxxxxxxxx> --- net/sunrpc/xprtsock.c | 7 +------ 1 files changed, 1 insertions(+), 6 deletions(-) diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 1a268bf..7445d4b 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -1147,13 +1147,8 @@ static inline int xs_tcp_read_callback(struct rpc_xprt *xprt, req = xprt_alloc_bc_request(xprt); if (req == NULL) { - /* - * Schedule an autoclose RPC call - */ printk(KERN_WARNING "Callback slot table overflowed\n"); - set_bit(XPRT_CLOSE_WAIT, &xprt->state); - if (test_and_set_bit(XPRT_LOCKED, &xprt->state) == 0) - queue_work(rpciod_workqueue, &xprt->task_cleanup); + xprt_force_disconnect(xprt); return -1; } -- 1.5.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html