diff options
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_rc.c | 7 | ||||
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_verbs.h | 2 |
2 files changed, 2 insertions, 7 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_rc.c b/drivers/infiniband/hw/ipath/ipath_rc.c index e3e533276356..9e68c91130dd 100644 --- a/drivers/infiniband/hw/ipath/ipath_rc.c +++ b/drivers/infiniband/hw/ipath/ipath_rc.c | |||
@@ -228,18 +228,13 @@ int ipath_make_rc_req(struct ipath_qp *qp, | |||
228 | goto done; | 228 | goto done; |
229 | 229 | ||
230 | if (!(ib_ipath_state_ops[qp->state] & IPATH_PROCESS_SEND_OK) || | 230 | if (!(ib_ipath_state_ops[qp->state] & IPATH_PROCESS_SEND_OK) || |
231 | qp->s_rnr_timeout) | 231 | qp->s_rnr_timeout || qp->s_wait_credit) |
232 | goto bail; | 232 | goto bail; |
233 | 233 | ||
234 | /* Limit the number of packets sent without an ACK. */ | 234 | /* Limit the number of packets sent without an ACK. */ |
235 | if (ipath_cmp24(qp->s_psn, qp->s_last_psn + IPATH_PSN_CREDIT) > 0) { | 235 | if (ipath_cmp24(qp->s_psn, qp->s_last_psn + IPATH_PSN_CREDIT) > 0) { |
236 | qp->s_wait_credit = 1; | 236 | qp->s_wait_credit = 1; |
237 | dev->n_rc_stalls++; | 237 | dev->n_rc_stalls++; |
238 | spin_lock(&dev->pending_lock); | ||
239 | if (list_empty(&qp->timerwait)) | ||
240 | list_add_tail(&qp->timerwait, | ||
241 | &dev->pending[dev->pending_index]); | ||
242 | spin_unlock(&dev->pending_lock); | ||
243 | goto bail; | 238 | goto bail; |
244 | } | 239 | } |
245 | 240 | ||
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs.h b/drivers/infiniband/hw/ipath/ipath_verbs.h index 7c4929f1cb5b..c62f9c5854f6 100644 --- a/drivers/infiniband/hw/ipath/ipath_verbs.h +++ b/drivers/infiniband/hw/ipath/ipath_verbs.h | |||
@@ -422,7 +422,7 @@ struct ipath_qp { | |||
422 | #define IPATH_S_RDMAR_PENDING 0x04 | 422 | #define IPATH_S_RDMAR_PENDING 0x04 |
423 | #define IPATH_S_ACK_PENDING 0x08 | 423 | #define IPATH_S_ACK_PENDING 0x08 |
424 | 424 | ||
425 | #define IPATH_PSN_CREDIT 2048 | 425 | #define IPATH_PSN_CREDIT 512 |
426 | 426 | ||
427 | /* | 427 | /* |
428 | * Since struct ipath_swqe is not a fixed size, we can't simply index into | 428 | * Since struct ipath_swqe is not a fixed size, we can't simply index into |