> On Aug 25, 2017, at 10:22 AM, David Harton <dhar...@cisco.com> wrote: > > vmxnet3 rx processing should replenish ring buffers after new buffers > are available to prevent the interface from getting stuck in a state > that no new work is processed. > > Signed-off-by: David Harton <dhar...@cisco.com> > --- > drivers/net/vmxnet3/vmxnet3_rxtx.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c > b/drivers/net/vmxnet3/vmxnet3_rxtx.c > index d9cf437..9861d35 100644 > --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c > +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c > @@ -880,6 +880,23 @@ > } > } > > + if (unlikely(nb_rxd == 0)) { > + uint32_t avail; > + for (ring_idx = 0; ring_idx < VMXNET3_RX_CMDRING_SIZE; > ring_idx++) { > + avail = > vmxnet3_cmd_ring_desc_avail(&rxq->cmd_ring[ring_idx]); > + if (unlikely(avail > 0)) { > + /* try to alloc new buf and renew descriptors */ > + vmxnet3_post_rx_bufs(rxq, ring_idx); > + } > + } > + if (unlikely(rxq->shared->ctrl.updateRxProd)) { > + for (ring_idx = 0; ring_idx < VMXNET3_RX_CMDRING_SIZE; > ring_idx++) { > + VMXNET3_WRITE_BAR0_REG(hw, rxprod_reg[ring_idx] > + (rxq->queue_id * VMXNET3_REG_ALIGN),
Did you run checkpatch here as it seems the line length is greater then 80. BTW, I think requirements of 80 and tab length of 8, is a bit outdated in 2017 :-( > + > rxq->cmd_ring[ring_idx].next2fill); > + } > + } > + } > + > return nb_rx; > } > > -- > 1.8.3.1 > Regards, Keith