aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/ipath/ipath_verbs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/hw/ipath/ipath_verbs.c')
-rw-r--r--drivers/infiniband/hw/ipath/ipath_verbs.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs.c b/drivers/infiniband/hw/ipath/ipath_verbs.c
index cb9e387c301f..3adb86fc8be7 100644
--- a/drivers/infiniband/hw/ipath/ipath_verbs.c
+++ b/drivers/infiniband/hw/ipath/ipath_verbs.c
@@ -464,7 +464,7 @@ static void ipath_ib_timer(void *arg)
464 last = &dev->pending[dev->pending_index]; 464 last = &dev->pending[dev->pending_index];
465 while (!list_empty(last)) { 465 while (!list_empty(last)) {
466 qp = list_entry(last->next, struct ipath_qp, timerwait); 466 qp = list_entry(last->next, struct ipath_qp, timerwait);
467 list_del(&qp->timerwait); 467 list_del_init(&qp->timerwait);
468 qp->timer_next = resend; 468 qp->timer_next = resend;
469 resend = qp; 469 resend = qp;
470 atomic_inc(&qp->refcount); 470 atomic_inc(&qp->refcount);
@@ -474,7 +474,7 @@ static void ipath_ib_timer(void *arg)
474 qp = list_entry(last->next, struct ipath_qp, timerwait); 474 qp = list_entry(last->next, struct ipath_qp, timerwait);
475 if (--qp->s_rnr_timeout == 0) { 475 if (--qp->s_rnr_timeout == 0) {
476 do { 476 do {
477 list_del(&qp->timerwait); 477 list_del_init(&qp->timerwait);
478 tasklet_hi_schedule(&qp->s_task); 478 tasklet_hi_schedule(&qp->s_task);
479 if (list_empty(last)) 479 if (list_empty(last))
480 break; 480 break;
@@ -554,7 +554,7 @@ static int ipath_ib_piobufavail(void *arg)
554 while (!list_empty(&dev->piowait)) { 554 while (!list_empty(&dev->piowait)) {
555 qp = list_entry(dev->piowait.next, struct ipath_qp, 555 qp = list_entry(dev->piowait.next, struct ipath_qp,
556 piowait); 556 piowait);
557 list_del(&qp->piowait); 557 list_del_init(&qp->piowait);
558 tasklet_hi_schedule(&qp->s_task); 558 tasklet_hi_schedule(&qp->s_task);
559 } 559 }
560 spin_unlock_irqrestore(&dev->pending_lock, flags); 560 spin_unlock_irqrestore(&dev->pending_lock, flags);