avoid an error with marking data packets free
rxi_FreeDataBufsToQueue(struct rx_packet *p, int first, struct rx_queue * q)
{
struct iovec *iov;
+ struct rx_packet * cb;
int count = 0;
if (first < 2)
iov = &p->wirevec[first];
if (!iov->iov_base)
osi_Panic("rxi_PacketIOVToQueue: unexpected NULL iov");
- queue_Append(q, RX_CBUF_TO_PACKET(iov->iov_base, p));
+ cb = RX_CBUF_TO_PACKET(iov->iov_base, p);
+ RX_FPQ_MARK_FREE(cb);
+ queue_Append(q, cb);
}
p->length = 0;
p->niovecs = 0;