> +
 >                      spin_lock_irqsave(&eq->spinlock, flags);
 > +
 >                      q_ofs = eq->ipz_queue.current_q_offset;
 > -                    spin_unlock_irqrestore(&eq->spinlock, flags);
 >                      do {
 > -                            spin_lock_irqsave(&eq->spinlock, flags);
 >                              q_ofs2 = eq->ipz_queue.current_q_offset;
 > -                            spin_unlock_irqrestore(&eq->spinlock, flags);
 >                              max--;
 >                      } while (q_ofs == q_ofs2 && max > 0);
 > +
 > +                    spin_unlock_irqrestore(&eq->spinlock, flags);
 > +

Does this loop have to drop the lock to give the EQ code a chance to
update the queue pointer?  If I understand this correctly, the EQ
polling code is just trying to have a fallback if interrupts don't
work...

 - R.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to