aboutsummaryrefslogtreecommitdiffstats
path: root/net/smc
diff options
context:
space:
mode:
authorBart Van Assche <bart.vanassche@wdc.com>2018-07-18 12:25:30 -0400
committerJason Gunthorpe <jgg@mellanox.com>2018-07-24 18:06:37 -0400
commit2e3bbe46b4a18d16314dab0c0efdba0c079a5ed0 (patch)
tree85a5194d0fcdcc330334030a1b20f8d0be2316c9 /net/smc
parent12c36dcfd6f48ece2fce4dc8e6ce68224d005d37 (diff)
net/smc: 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: Bart Van Assche <bart.vanassche@wdc.com> Acked-by: Ursula Braun <ubraun@linux.ibm.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'net/smc')
-rw-r--r--net/smc/smc_tx.c3
-rw-r--r--net/smc/smc_wr.c8
-rw-r--r--net/smc/smc_wr.h3
3 files changed, 4 insertions, 10 deletions
diff --git a/net/smc/smc_tx.c b/net/smc/smc_tx.c
index cee666400752..a171c168f98e 100644
--- a/net/smc/smc_tx.c
+++ b/net/smc/smc_tx.c
@@ -255,7 +255,6 @@ static int smc_tx_rdma_write(struct smc_connection *conn, int peer_rmbe_offset,
255 int num_sges, struct ib_sge sges[]) 255 int num_sges, struct ib_sge sges[])
256{ 256{
257 struct smc_link_group *lgr = conn->lgr; 257 struct smc_link_group *lgr = conn->lgr;
258 struct ib_send_wr *failed_wr = NULL;
259 struct ib_rdma_wr rdma_wr; 258 struct ib_rdma_wr rdma_wr;
260 struct smc_link *link; 259 struct smc_link *link;
261 int rc; 260 int rc;
@@ -273,7 +272,7 @@ static int smc_tx_rdma_write(struct smc_connection *conn, int peer_rmbe_offset,
273 /* offset within RMBE */ 272 /* offset within RMBE */
274 peer_rmbe_offset; 273 peer_rmbe_offset;
275 rdma_wr.rkey = lgr->rtokens[conn->rtoken_idx][SMC_SINGLE_LINK].rkey; 274 rdma_wr.rkey = lgr->rtokens[conn->rtoken_idx][SMC_SINGLE_LINK].rkey;
276 rc = ib_post_send(link->roce_qp, &rdma_wr.wr, &failed_wr); 275 rc = ib_post_send(link->roce_qp, &rdma_wr.wr, NULL);
277 if (rc) { 276 if (rc) {
278 conn->local_tx_ctrl.conn_state_flags.peer_conn_abort = 1; 277 conn->local_tx_ctrl.conn_state_flags.peer_conn_abort = 1;
279 smc_lgr_terminate(lgr); 278 smc_lgr_terminate(lgr);
diff --git a/net/smc/smc_wr.c b/net/smc/smc_wr.c
index 8b9bdd9bc615..de1a438cf977 100644
--- a/net/smc/smc_wr.c
+++ b/net/smc/smc_wr.c
@@ -240,15 +240,13 @@ int smc_wr_tx_put_slot(struct smc_link *link,
240 */ 240 */
241int smc_wr_tx_send(struct smc_link *link, struct smc_wr_tx_pend_priv *priv) 241int smc_wr_tx_send(struct smc_link *link, struct smc_wr_tx_pend_priv *priv)
242{ 242{
243 struct ib_send_wr *failed_wr = NULL;
244 struct smc_wr_tx_pend *pend; 243 struct smc_wr_tx_pend *pend;
245 int rc; 244 int rc;
246 245
247 ib_req_notify_cq(link->smcibdev->roce_cq_send, 246 ib_req_notify_cq(link->smcibdev->roce_cq_send,
248 IB_CQ_NEXT_COMP | IB_CQ_REPORT_MISSED_EVENTS); 247 IB_CQ_NEXT_COMP | IB_CQ_REPORT_MISSED_EVENTS);
249 pend = container_of(priv, struct smc_wr_tx_pend, priv); 248 pend = container_of(priv, struct smc_wr_tx_pend, priv);
250 rc = ib_post_send(link->roce_qp, &link->wr_tx_ibs[pend->idx], 249 rc = ib_post_send(link->roce_qp, &link->wr_tx_ibs[pend->idx], NULL);
251 &failed_wr);
252 if (rc) { 250 if (rc) {
253 struct smc_link_group *lgr = 251 struct smc_link_group *lgr =
254 container_of(link, struct smc_link_group, 252 container_of(link, struct smc_link_group,
@@ -263,7 +261,6 @@ int smc_wr_tx_send(struct smc_link *link, struct smc_wr_tx_pend_priv *priv)
263/* Register a memory region and wait for result. */ 261/* Register a memory region and wait for result. */
264int smc_wr_reg_send(struct smc_link *link, struct ib_mr *mr) 262int smc_wr_reg_send(struct smc_link *link, struct ib_mr *mr)
265{ 263{
266 struct ib_send_wr *failed_wr = NULL;
267 int rc; 264 int rc;
268 265
269 ib_req_notify_cq(link->smcibdev->roce_cq_send, 266 ib_req_notify_cq(link->smcibdev->roce_cq_send,
@@ -272,8 +269,7 @@ int smc_wr_reg_send(struct smc_link *link, struct ib_mr *mr)
272 link->wr_reg.wr.wr_id = (u64)(uintptr_t)mr; 269 link->wr_reg.wr.wr_id = (u64)(uintptr_t)mr;
273 link->wr_reg.mr = mr; 270 link->wr_reg.mr = mr;
274 link->wr_reg.key = mr->rkey; 271 link->wr_reg.key = mr->rkey;
275 failed_wr = &link->wr_reg.wr; 272 rc = ib_post_send(link->roce_qp, &link->wr_reg.wr, NULL);
276 rc = ib_post_send(link->roce_qp, &link->wr_reg.wr, &failed_wr);
277 if (rc) 273 if (rc)
278 return rc; 274 return rc;
279 275
diff --git a/net/smc/smc_wr.h b/net/smc/smc_wr.h
index 210bec3c3ebe..1d85bb14fd6f 100644
--- a/net/smc/smc_wr.h
+++ b/net/smc/smc_wr.h
@@ -63,7 +63,6 @@ static inline void smc_wr_tx_set_wr_id(atomic_long_t *wr_tx_id, long val)
63/* post a new receive work request to fill a completed old work request entry */ 63/* post a new receive work request to fill a completed old work request entry */
64static inline int smc_wr_rx_post(struct smc_link *link) 64static inline int smc_wr_rx_post(struct smc_link *link)
65{ 65{
66 struct ib_recv_wr *bad_recv_wr = NULL;
67 int rc; 66 int rc;
68 u64 wr_id, temp_wr_id; 67 u64 wr_id, temp_wr_id;
69 u32 index; 68 u32 index;
@@ -72,7 +71,7 @@ static inline int smc_wr_rx_post(struct smc_link *link)
72 temp_wr_id = wr_id; 71 temp_wr_id = wr_id;
73 index = do_div(temp_wr_id, link->wr_rx_cnt); 72 index = do_div(temp_wr_id, link->wr_rx_cnt);
74 link->wr_rx_ibs[index].wr_id = wr_id; 73 link->wr_rx_ibs[index].wr_id = wr_id;
75 rc = ib_post_recv(link->roce_qp, &link->wr_rx_ibs[index], &bad_recv_wr); 74 rc = ib_post_recv(link->roce_qp, &link->wr_rx_ibs[index], NULL);
76 return rc; 75 return rc;
77} 76}
78 77