/* ixgbe_msix_clean_rx - single unshared vector rx clean (all queues) @irq: unused @data: pointer to our q_vector struct for this interrupt vector  */
static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data)
/* ixgbe_msix_clean_rx - single unshared vector rx clean (all queues) @irq: unused @data: pointer to our q_vector struct for this interrupt vector  */
static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data)
{
	struct ixgbe_q_vector *q_vector = data;
	struct ixgbe_adapter  *adapter = q_vector->adapter;
	struct ixgbe_ring  *rx_ring;
	int r_idx;
	int i;
	r_idx = find_first_bit(q_vector->rxr_idx, adapter->num_rx_queues);
	for (i = 0;  i < q_vector->rxr_count; i++) {
		rx_ring = &(adapter->rx_ring[r_idx]);
		rx_ring->total_bytes = 0;
		rx_ring->total_packets = 0;
		r_idx = find_next_bit(q_vector->rxr_idx, adapter->num_rx_queues,
		                      r_idx + 1);
	}
	if (!q_vector->rxr_count)
		return IRQ_HANDLED;
	napi_schedule(&q_vector->napi);
	return IRQ_HANDLED;
}