--- aq_nic.c.old 2022-05-11 08:01:00.192386566 +0200 +++ aq_nic.c 2022-05-12 14:03:07.454552318 +0200 @@ -268,9 +268,10 @@ struct aq_vec_s *aq_vec = NULL; unsigned int i = 0U; - for (i = 0U, aq_vec = self->aq_vec[0]; - self->aq_vecs > i; ++i, aq_vec = self->aq_vec[i]) + for (i = 0U; self->aq_vecs > i; ++i) { + aq_vec = self->aq_vec[i]; aq_vec_isr(i, (void *)aq_vec); + } mod_timer(&self->polling_timer, jiffies + AQ_CFG_POLLING_TIMER_INTERVAL); @@ -928,11 +929,12 @@ data += i; for (tc = 0U; tc < self->aq_nic_cfg.tcs; tc++) { - for (i = 0U, aq_vec = self->aq_vec[0]; - aq_vec && self->aq_vecs > i; - ++i, aq_vec = self->aq_vec[i]) { - data += count; - count = aq_vec_get_sw_stats(aq_vec, tc, data); + for (i = 0U; self->aq_vecs > i; ++i) { + aq_vec = self->aq_vec[i]; + if (aq_vec) { + data += count; + count = aq_vec_get_sw_stats(aq_vec, tc, data); + } } } @@ -1264,9 +1266,10 @@ aq_ptp_irq_free(self); - for (i = 0U, aq_vec = self->aq_vec[0]; - self->aq_vecs > i; ++i, aq_vec = self->aq_vec[i]) + for (i = 0U; self->aq_vecs > i; ++i) { + aq_vec = self->aq_vec[i]; aq_vec_stop(aq_vec); + } aq_ptp_ring_stop(self);