mirror of https://gitee.com/openkylin/linux.git
svcrdma: Fix double svc_rdma_send_ctxt_put() in an error path
This error path is almost never executed. Found by code inspection.
Fixes: 99722fe4d5
("svcrdma: Persistently allocate and DMA-map Send buffers")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
7dcf4ab952
commit
758a3bf945
|
@ -786,7 +786,6 @@ static int svc_rdma_send_error_msg(struct svcxprt_rdma *rdma,
|
||||||
struct svc_rqst *rqstp)
|
struct svc_rqst *rqstp)
|
||||||
{
|
{
|
||||||
__be32 *p;
|
__be32 *p;
|
||||||
int ret;
|
|
||||||
|
|
||||||
p = ctxt->sc_xprt_buf;
|
p = ctxt->sc_xprt_buf;
|
||||||
trace_svcrdma_err_chunk(*p);
|
trace_svcrdma_err_chunk(*p);
|
||||||
|
@ -798,13 +797,7 @@ static int svc_rdma_send_error_msg(struct svcxprt_rdma *rdma,
|
||||||
svc_rdma_save_io_pages(rqstp, ctxt);
|
svc_rdma_save_io_pages(rqstp, ctxt);
|
||||||
|
|
||||||
ctxt->sc_send_wr.opcode = IB_WR_SEND;
|
ctxt->sc_send_wr.opcode = IB_WR_SEND;
|
||||||
ret = svc_rdma_send(rdma, &ctxt->sc_send_wr);
|
return svc_rdma_send(rdma, &ctxt->sc_send_wr);
|
||||||
if (ret) {
|
|
||||||
svc_rdma_send_ctxt_put(rdma, ctxt);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue