Bladeren bron

IPoIB/cm: Set tx_wr.num_sge in connected mode post_send()

Commit 7143740d ("IPoIB: Add send gather support") made it possible
for tx_wr.num_sge to be != 1 -- this happens if send gather support is
enabled.  However, the code in the connected mode post_send() function
assumes the old invariant, namely that tx_wr.num_sge is always 1.  Fix
this by explicitly setting tx_wr.num_sge to 1 in the CM post_send().

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Roland Dreier 17 jaren geleden
bovenliggende
commit
4200406b8f
1 gewijzigde bestanden met toevoegingen van 1 en 0 verwijderingen
  1. 1 0
      drivers/infiniband/ulp/ipoib/ipoib_cm.c

+ 1 - 0
drivers/infiniband/ulp/ipoib/ipoib_cm.c

@@ -637,6 +637,7 @@ static inline int post_send(struct ipoib_dev_priv *priv,
 	priv->tx_sge[0].addr          = addr;
 	priv->tx_sge[0].length        = len;
 
+	priv->tx_wr.num_sge	= 1;
 	priv->tx_wr.wr_id	= wr_id | IPOIB_OP_CM;
 
 	return ib_post_send(tx->qp, &priv->tx_wr, &bad_wr);