[ewg] RE: IB/ipoib: ipoib_ib_post_receive: infinite loop in error path
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
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