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

Eli Cohen eli at mellanox.co.il
Sat Feb 9 13:22:53 PST 2008


Hi Nam,

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

-----Original Message-----
From: Hoang-Nam Nguyen [mailto:hnguyen at linux.vnet.ibm.com] 
Sent: ו 08 פברואר 2008 17:10
To: Eli Cohen; xma at us.ibm.com
Cc: ewg at lists.openfabrics.org; general at lists.openfabrics.org
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




More information about the ewg mailing list