diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index d65f8d35de87e19a07148b6889d089c7fa8e5e8f..faf145df6c6012dfbd4462e89832dd269ce4e0a8 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c @@ -1502,9 +1502,9 @@ bc_svc_process(struct svc_serv *serv, struct rpc_rqst *req, if (!proc_error) { /* Processing error: drop the request */ xprt_free_bc_request(req); - return 0; + error = -EINVAL; + goto out; } - /* Finally, send the reply synchronously */ memcpy(&req->rq_snd_buf, &rqstp->rq_res, sizeof(req->rq_snd_buf)); task = rpc_run_bc_task(req);