[ewg] IB/ipoib: ipoib_ib_post_receive: infinite loop in error path
Hoang-Nam Nguyen
hnguyen at linux.vnet.ibm.com
Fri Feb 8 07:10:23 PST 2008
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