Thanks for the review, Jakub.
>> for (i = 0U, ring = self->ring[0];
>> self->tx_rings > i; ++i, ring = self->ring[i]) {
>> + ring[AQ_VEC_RX_ID].stats.rx.polls++;
>
> You need to use the u64_stats_update_* infrastructure or make these
> stats smaller than u64, cause on non-64bit machines where the stats
> will be updated 32bit-by-32bit meaning readers can see a half-updated
> counter..
Agree, will secure with stats_update.
>> @@ -314,6 +316,7 @@ irqreturn_t aq_vec_isr(int irq, void *private)
>> err = -EINVAL;
>> goto err_exit;
>> }
>> + self->ring[0][AQ_VEC_RX_ID].stats.rx.irqs++;
Indeed, looks like some leftover debug counter, will remove.
Thanks,
Igor