|
@@ -1188,7 +1188,8 @@ svc_process_common(struct svc_rqst *rqstp, struct kvec *argv, struct kvec *resv)
|
|
|
*statp = procp->pc_func(rqstp, rqstp->rq_argp, rqstp->rq_resp);
|
|
|
|
|
|
/* Encode reply */
|
|
|
- if (test_bit(RQ_DROPME, &rqstp->rq_flags)) {
|
|
|
+ if (*statp == rpc_drop_reply ||
|
|
|
+ test_bit(RQ_DROPME, &rqstp->rq_flags)) {
|
|
|
if (procp->pc_release)
|
|
|
procp->pc_release(rqstp, NULL, rqstp->rq_resp);
|
|
|
goto dropit;
|