[ewg] RE: IB/ipoib: ipoib_ib_post_receive: infinite loop in error path

2008-02-09 Thread Eli Cohen
Hi Nam,

Thanks for cathing this - I will fix that for the next rc. 

-Original Message-
From: Hoang-Nam Nguyen [mailto:[EMAIL PROTECTED] 
Sent: ו 08 פברואר 2008 17:10
To: Eli Cohen; [EMAIL PROTECTED]
Cc: ewg@lists.openfabrics.org; [EMAIL PROTECTED]
Subject: IB/ipoib: ipoib_ib_post_receive: infinite loop in error path

Hello Eli!
Looked at ipoib code from ofed-1.3-rc4 and the saw the following code snippet 
in ipoib_ib_post_receive():

if (++priv->rx_outst == UD_POST_RCV_COUNT) {
ret = ib_post_recv(priv->qp, priv->rx_wr_draft, &bad_wr);

if (unlikely(ret)) {
ipoib_warn(priv, "receive failed for buf %d (%d)\n", 
id, ret);
while (bad_wr) {
id = bad_wr->wr_id & ~IPOIB_OP_RECV;
ipoib_sg_dma_unmap_rx(priv,
  priv->rx_ring[i].mapping);
#1/ipoib_0240_4kmtu.patch: should be priv->rx_ring[id].mapping
dev_kfree_skb_any(priv->rx_ring[id].skb);
priv->rx_ring[id].skb = NULL;
#2/ipoib_0220_ud_post_list.patch: missing iterator forwarding, ie bad_wr = 
bad_wr->next;
}

}
priv->rx_outst = 0;
}

#1: I've talked with Shirley about this.
#2: I thought to have seen you fixed it, but still see it in rc4 after called 
configure script.

Nam

___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg


[ewg] Re: IB/ipoib: ipoib_ib_post_receive: infinite loop in error path

2008-02-08 Thread Shirley Ma





Thanks Nam. I will fix it along with ipoib_sg_skb_put_frags() optimization.

Thanks
Shirley



   
 Hoang-Nam 
 Nguyen
   cc
   ewg@lists.openfabrics.org,  
 02/08/08  [EMAIL PROTECTED]   
 07:10 AM  Subject
   IB/ipoib: ipoib_ib_post_receive: infinite
   loop in error path  
   
   
   
   
   
   




Hello Eli!
Looked at ipoib code from ofed-1.3-rc4 and the saw the following code
snippet
in ipoib_ib_post_receive():

 if (++priv->rx_outst == UD_POST_RCV_COUNT) {
 ret = ib_post_recv(priv->qp, priv->rx_wr_draft,
&bad_wr);

 if (unlikely(ret)) {
 ipoib_warn(priv, "receive failed for
buf %d (%d)\n", id, ret);
 while (bad_wr) {
 id = bad_wr->wr_id &
~IPOIB_OP_RECV;

ipoib_sg_dma_unmap_rx(priv,

priv->rx_ring[i].mapping);
#1/ipoib_0240_4kmtu.patch: should be priv->rx_ring[id].mapping

dev_kfree_skb_any(priv->rx_ring[id].skb);
 priv->rx_ring[id].skb =
NULL;
#2/ipoib_0220_ud_post_list.patch: missing iterator forwarding, ie bad_wr =
bad_wr->next;
 }

 }
 priv->rx_outst = 0;
 }

#1: I've talked with Shirley about this.
#2: I thought to have seen you fixed it, but still see it in rc4 after
called
configure script.

Nam

<><><>___
ewg mailing list
ewg@lists.openfabrics.org
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg