for (i = eqo->idx, rxo = &adapter->rx_obj[i]; i < adapter->num_rx_qs;\
                 i += adapter->num_evt_qs, rxo += adapter->num_evt_qs)
 
+#define for_all_tx_queues_on_eq(adapter, eqo, txo, i)                  \
+       for (i = eqo->idx, txo = &adapter->tx_obj[i]; i < adapter->num_tx_qs;\
+               i += adapter->num_evt_qs, txo += adapter->num_evt_qs)
+
 #define is_mcc_eqo(eqo)                        (eqo->idx == 0)
 #define mcc_eqo(adapter)               (&adapter->eq_obj[0])
 
 
        struct be_adapter *adapter = eqo->adapter;
        int max_work = 0, work, i, num_evts;
        struct be_rx_obj *rxo;
+       struct be_tx_obj *txo;
 
        num_evts = events_get(eqo);
 
-       /* Process all TXQs serviced by this EQ */
-       for (i = eqo->idx; i < adapter->num_tx_qs; i += adapter->num_evt_qs)
-               be_process_tx(adapter, &adapter->tx_obj[i], i);
+       for_all_tx_queues_on_eq(adapter, eqo, txo, i)
+               be_process_tx(adapter, txo, i);
 
        if (be_lock_napi(eqo)) {
                /* This loop will iterate twice for EQ0 in which