static void ionic_dim_work(struct work_struct *work)
 {
        struct dim *dim = container_of(work, struct dim, work);
+       struct ionic_intr_info *intr;
        struct dim_cq_moder cur_moder;
        struct ionic_qcq *qcq;
+       struct ionic_lif *lif;
        u32 new_coal;
 
        cur_moder = net_dim_get_rx_moderation(dim->mode, dim->profile_ix);
        qcq = container_of(dim, struct ionic_qcq, dim);
-       new_coal = ionic_coal_usec_to_hw(qcq->q.lif->ionic, cur_moder.usec);
+       lif = qcq->q.lif;
+       new_coal = ionic_coal_usec_to_hw(lif->ionic, cur_moder.usec);
        new_coal = new_coal ? new_coal : 1;
 
-       if (qcq->intr.dim_coal_hw != new_coal) {
-               unsigned int qi = qcq->cq.bound_q->index;
-               struct ionic_lif *lif = qcq->q.lif;
-
-               qcq->intr.dim_coal_hw = new_coal;
+       intr = &qcq->intr;
+       if (intr->dim_coal_hw != new_coal) {
+               intr->dim_coal_hw = new_coal;
 
                ionic_intr_coal_init(lif->ionic->idev.intr_ctrl,
-                                    lif->rxqcqs[qi]->intr.index,
-                                    qcq->intr.dim_coal_hw);
+                                    intr->index, intr->dim_coal_hw);
        }
 
        dim->state = DIM_START_MEASURE;