diff options
author | Roland Dreier <rolandd@cisco.com> | 2008-03-11 21:35:20 -0400 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-03-11 21:35:20 -0400 |
commit | 4200406b8fbbf309f4fffb339bd16c4553ae0c30 (patch) | |
tree | cb734632dc9fce70535cd873c8c2fa244262a9e6 /drivers/infiniband/ulp | |
parent | b3e2749bf32f61e7beb259eb7cfb066d2ec6ad65 (diff) |
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>
Diffstat (limited to 'drivers/infiniband/ulp')
-rw-r--r-- | drivers/infiniband/ulp/ipoib/ipoib_cm.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c b/drivers/infiniband/ulp/ipoib/ipoib_cm.c index 52b1bebfa744..4e8d0281f8bc 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c | |||
@@ -637,6 +637,7 @@ static inline int post_send(struct ipoib_dev_priv *priv, | |||
637 | priv->tx_sge[0].addr = addr; | 637 | priv->tx_sge[0].addr = addr; |
638 | priv->tx_sge[0].length = len; | 638 | priv->tx_sge[0].length = len; |
639 | 639 | ||
640 | priv->tx_wr.num_sge = 1; | ||
640 | priv->tx_wr.wr_id = wr_id | IPOIB_OP_CM; | 641 | priv->tx_wr.wr_id = wr_id | IPOIB_OP_CM; |
641 | 642 | ||
642 | return ib_post_send(tx->qp, &priv->tx_wr, &bad_wr); | 643 | return ib_post_send(tx->qp, &priv->tx_wr, &bad_wr); |