aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/sunrpc/clnt.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index 38829e20500b..7bcd931e06ee 100644
--- a/net/sunrpc/clnt.c
+++ b/net/sunrpc/clnt.c
@@ -1180,10 +1180,22 @@ static void
1180call_transmit_status(struct rpc_task *task) 1180call_transmit_status(struct rpc_task *task)
1181{ 1181{
1182 task->tk_action = call_status; 1182 task->tk_action = call_status;
1183
1184 /*
1185 * Common case: success. Force the compiler to put this
1186 * test first.
1187 */
1188 if (task->tk_status == 0) {
1189 xprt_end_transmit(task);
1190 rpc_task_force_reencode(task);
1191 return;
1192 }
1193
1183 switch (task->tk_status) { 1194 switch (task->tk_status) {
1184 case -EAGAIN: 1195 case -EAGAIN:
1185 break; 1196 break;
1186 default: 1197 default:
1198 dprint_status(task);
1187 xprt_end_transmit(task); 1199 xprt_end_transmit(task);
1188 /* 1200 /*
1189 * Special cases: if we've been waiting on the 1201 * Special cases: if we've been waiting on the