Commit f112d53b authored by Bart Van Assche's avatar Bart Van Assche Committed by Jason Gunthorpe

net/rds: Simplify ib_post_(send|recv|srq_recv)() calls

Instead of declaring and passing a dummy 'bad_wr' pointer, pass NULL
as third argument to ib_post_(send|recv|srq_recv)().
Signed-off-by: default avatarBart Van Assche <bart.vanassche@wdc.com>
Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@oracle.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 197c782e
...@@ -102,7 +102,6 @@ static void rds_ib_free_frmr(struct rds_ib_mr *ibmr, bool drop) ...@@ -102,7 +102,6 @@ static void rds_ib_free_frmr(struct rds_ib_mr *ibmr, bool drop)
static int rds_ib_post_reg_frmr(struct rds_ib_mr *ibmr) static int rds_ib_post_reg_frmr(struct rds_ib_mr *ibmr)
{ {
struct rds_ib_frmr *frmr = &ibmr->u.frmr; struct rds_ib_frmr *frmr = &ibmr->u.frmr;
struct ib_send_wr *failed_wr;
struct ib_reg_wr reg_wr; struct ib_reg_wr reg_wr;
int ret, off = 0; int ret, off = 0;
...@@ -135,8 +134,7 @@ static int rds_ib_post_reg_frmr(struct rds_ib_mr *ibmr) ...@@ -135,8 +134,7 @@ static int rds_ib_post_reg_frmr(struct rds_ib_mr *ibmr)
IB_ACCESS_REMOTE_WRITE; IB_ACCESS_REMOTE_WRITE;
reg_wr.wr.send_flags = IB_SEND_SIGNALED; reg_wr.wr.send_flags = IB_SEND_SIGNALED;
failed_wr = &reg_wr.wr; ret = ib_post_send(ibmr->ic->i_cm_id->qp, &reg_wr.wr, NULL);
ret = ib_post_send(ibmr->ic->i_cm_id->qp, &reg_wr.wr, &failed_wr);
if (unlikely(ret)) { if (unlikely(ret)) {
/* Failure here can be because of -ENOMEM as well */ /* Failure here can be because of -ENOMEM as well */
frmr->fr_state = FRMR_IS_STALE; frmr->fr_state = FRMR_IS_STALE;
...@@ -229,7 +227,7 @@ static int rds_ib_map_frmr(struct rds_ib_device *rds_ibdev, ...@@ -229,7 +227,7 @@ static int rds_ib_map_frmr(struct rds_ib_device *rds_ibdev,
static int rds_ib_post_inv(struct rds_ib_mr *ibmr) static int rds_ib_post_inv(struct rds_ib_mr *ibmr)
{ {
struct ib_send_wr *s_wr, *failed_wr; struct ib_send_wr *s_wr;
struct rds_ib_frmr *frmr = &ibmr->u.frmr; struct rds_ib_frmr *frmr = &ibmr->u.frmr;
struct rdma_cm_id *i_cm_id = ibmr->ic->i_cm_id; struct rdma_cm_id *i_cm_id = ibmr->ic->i_cm_id;
int ret = -EINVAL; int ret = -EINVAL;
...@@ -254,8 +252,7 @@ static int rds_ib_post_inv(struct rds_ib_mr *ibmr) ...@@ -254,8 +252,7 @@ static int rds_ib_post_inv(struct rds_ib_mr *ibmr)
s_wr->ex.invalidate_rkey = frmr->mr->rkey; s_wr->ex.invalidate_rkey = frmr->mr->rkey;
s_wr->send_flags = IB_SEND_SIGNALED; s_wr->send_flags = IB_SEND_SIGNALED;
failed_wr = s_wr; ret = ib_post_send(i_cm_id->qp, s_wr, NULL);
ret = ib_post_send(i_cm_id->qp, s_wr, &failed_wr);
if (unlikely(ret)) { if (unlikely(ret)) {
frmr->fr_state = FRMR_IS_STALE; frmr->fr_state = FRMR_IS_STALE;
frmr->fr_inv = false; frmr->fr_inv = false;
......
...@@ -383,7 +383,6 @@ void rds_ib_recv_refill(struct rds_connection *conn, int prefill, gfp_t gfp) ...@@ -383,7 +383,6 @@ void rds_ib_recv_refill(struct rds_connection *conn, int prefill, gfp_t gfp)
{ {
struct rds_ib_connection *ic = conn->c_transport_data; struct rds_ib_connection *ic = conn->c_transport_data;
struct rds_ib_recv_work *recv; struct rds_ib_recv_work *recv;
struct ib_recv_wr *failed_wr;
unsigned int posted = 0; unsigned int posted = 0;
int ret = 0; int ret = 0;
bool can_wait = !!(gfp & __GFP_DIRECT_RECLAIM); bool can_wait = !!(gfp & __GFP_DIRECT_RECLAIM);
...@@ -417,7 +416,7 @@ void rds_ib_recv_refill(struct rds_connection *conn, int prefill, gfp_t gfp) ...@@ -417,7 +416,7 @@ void rds_ib_recv_refill(struct rds_connection *conn, int prefill, gfp_t gfp)
&recv->r_frag->f_sg)); &recv->r_frag->f_sg));
/* XXX when can this fail? */ /* XXX when can this fail? */
ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, &failed_wr); ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, NULL);
if (ret) { if (ret) {
rds_ib_conn_error(conn, "recv post on " rds_ib_conn_error(conn, "recv post on "
"%pI4 returned %d, disconnecting and " "%pI4 returned %d, disconnecting and "
...@@ -650,7 +649,6 @@ static u64 rds_ib_get_ack(struct rds_ib_connection *ic) ...@@ -650,7 +649,6 @@ static u64 rds_ib_get_ack(struct rds_ib_connection *ic)
static void rds_ib_send_ack(struct rds_ib_connection *ic, unsigned int adv_credits) static void rds_ib_send_ack(struct rds_ib_connection *ic, unsigned int adv_credits)
{ {
struct rds_header *hdr = ic->i_ack; struct rds_header *hdr = ic->i_ack;
struct ib_send_wr *failed_wr;
u64 seq; u64 seq;
int ret; int ret;
...@@ -663,7 +661,7 @@ static void rds_ib_send_ack(struct rds_ib_connection *ic, unsigned int adv_credi ...@@ -663,7 +661,7 @@ static void rds_ib_send_ack(struct rds_ib_connection *ic, unsigned int adv_credi
rds_message_make_checksum(hdr); rds_message_make_checksum(hdr);
ic->i_ack_queued = jiffies; ic->i_ack_queued = jiffies;
ret = ib_post_send(ic->i_cm_id->qp, &ic->i_ack_wr, &failed_wr); ret = ib_post_send(ic->i_cm_id->qp, &ic->i_ack_wr, NULL);
if (unlikely(ret)) { if (unlikely(ret)) {
/* Failed to send. Release the WR, and /* Failed to send. Release the WR, and
* force another ACK. * force another ACK.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment