diff options
-rw-r--r-- | drivers/infiniband/core/mad.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c index 04f88d337388..e96ca278c90e 100644 --- a/drivers/infiniband/core/mad.c +++ b/drivers/infiniband/core/mad.c | |||
@@ -2188,7 +2188,6 @@ static int retry_send(struct ib_mad_send_wr_private *mad_send_wr) | |||
2188 | 2188 | ||
2189 | if (!ret) { | 2189 | if (!ret) { |
2190 | mad_send_wr->refcount++; | 2190 | mad_send_wr->refcount++; |
2191 | list_del(&mad_send_wr->agent_list); | ||
2192 | list_add_tail(&mad_send_wr->agent_list, | 2191 | list_add_tail(&mad_send_wr->agent_list, |
2193 | &mad_send_wr->mad_agent_priv->send_list); | 2192 | &mad_send_wr->mad_agent_priv->send_list); |
2194 | } | 2193 | } |
@@ -2223,10 +2222,10 @@ static void timeout_sends(void *data) | |||
2223 | break; | 2222 | break; |
2224 | } | 2223 | } |
2225 | 2224 | ||
2225 | list_del(&mad_send_wr->agent_list); | ||
2226 | if (!retry_send(mad_send_wr)) | 2226 | if (!retry_send(mad_send_wr)) |
2227 | continue; | 2227 | continue; |
2228 | 2228 | ||
2229 | list_del(&mad_send_wr->agent_list); | ||
2230 | spin_unlock_irqrestore(&mad_agent_priv->lock, flags); | 2229 | spin_unlock_irqrestore(&mad_agent_priv->lock, flags); |
2231 | 2230 | ||
2232 | mad_send_wc.wr_id = mad_send_wr->wr_id; | 2231 | mad_send_wc.wr_id = mad_send_wr->wr_id; |