time_after_eq() replaces elements whose timer has not yet expired. Instead, one
must use time_before_eq().

Noted by Pradeep <[EMAIL PROTECTED]>
Signed-off-by: Michael S. Tsirkin <[EMAIL PROTECTED]>

---

> I see a trivial bug in ipoib_cm_stale_task (). The time_after_eq() 
> replaces elements whose timer has not yet expired. Instead, one must use 
> time_before_eq(). Should I supply a patch for this?
> 
> Pradeep
> [EMAIL PROTECTED]

Good catch, thanks!

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_cm.c 
b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
index 3484e8b..4675640 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_cm.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_cm.c
@@ -1095,7 +1095,7 @@ static void ipoib_cm_stale_task(struct work_struct *work)
                /* List if sorted by LRU, start from tail,
                 * stop when we see a recently used entry */
                p = list_entry(priv->cm.passive_ids.prev, typeof(*p), list);
-               if (time_after_eq(jiffies, p->jiffies + IPOIB_CM_RX_TIMEOUT))
+               if (time_before_eq(jiffies, p->jiffies + IPOIB_CM_RX_TIMEOUT))
                        break;
                list_del_init(&p->list);
                spin_unlock_irqrestore(&priv->lock, flags);

-- 
MST
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to