return;
}
- allocq_free = (kni->alloc_q->read - kni->alloc_q->write - 1)
- & (MAX_MBUF_BURST_NUM - 1);
+ allocq_free = kni_fifo_free_count(kni->alloc_q);
+ allocq_free = (allocq_free > MAX_MBUF_BURST_NUM) ?
+ MAX_MBUF_BURST_NUM : allocq_free;
for (i = 0; i < allocq_free; i++) {
pkts[i] = rte_pktmbuf_alloc(kni->pktmbuf_pool);
if (unlikely(pkts[i] == NULL)) {
}
old_linkup = (old_carrier[0] == '1');
+ if (old_linkup == (int)linkup)
+ goto out;
+
new_carrier = linkup ? "1" : "0";
ret = write(fd, new_carrier, 1);
if (ret < 1) {
close(fd);
return -1;
}
-
+out:
close(fd);
return old_linkup;
}