diff --git a/drivers/staging/rdma/hfi1/ruc.c b/drivers/staging/rdma/hfi1/ruc.c index aa53859503ee9af628cd388a52e213cb61da416c..08813cdbd475773b73bd9ee38ee9ff9cd40f0100 100644 --- a/drivers/staging/rdma/hfi1/ruc.c +++ b/drivers/staging/rdma/hfi1/ruc.c @@ -906,8 +906,11 @@ void hfi1_do_send(struct rvt_qp *qp) *ps.ppd->dd->send_schedule); return; } - cond_resched(); - this_cpu_inc(*ps.ppd->dd->send_schedule); + if (!irqs_disabled()) { + cond_resched(); + this_cpu_inc( + *ps.ppd->dd->send_schedule); + } timeout = jiffies + (timeout_int) / 8; } spin_lock_irqsave(&qp->s_lock, flags);