* @rxd_cnt:            Size of the RX ring in number of descriptors
  * @tx_rings:           Array of pre-allocated TX ring structures
  * @rx_rings:           Array of pre-allocated RX ring structures
- * @num_irqs:          Number of allocated interrupt vectors
+ * @max_r_vecs:                Number of allocated interrupt vectors for RX/TX
  * @num_r_vecs:         Number of used ring vectors
  * @r_vecs:             Pre-allocated array of ring vectors
  * @irq_entries:        Pre-allocated array of MSI-X entries
        int txd_cnt;
        int rxd_cnt;
 
-       unsigned int num_irqs;
+       unsigned int max_r_vecs;
        unsigned int num_r_vecs;
        struct nfp_net_r_vector r_vecs[NFP_NET_MAX_R_VECS];
        struct msix_entry irq_entries[NFP_NET_MAX_IRQS];
 
 int nfp_net_irqs_alloc(struct nfp_net *nn)
 {
        int wanted_irqs;
+       unsigned int n;
 
        wanted_irqs = nn->num_r_vecs + NFP_NET_NON_Q_VECTORS;
 
-       nn->num_irqs = nfp_net_msix_alloc(nn, wanted_irqs);
-       if (nn->num_irqs == 0) {
+       n = nfp_net_msix_alloc(nn, wanted_irqs);
+       if (n == 0) {
                nn_err(nn, "Failed to allocate MSI-X IRQs\n");
                return 0;
        }
 
-       nn->num_r_vecs = nn->num_irqs - NFP_NET_NON_Q_VECTORS;
+       nn->max_r_vecs = n - NFP_NET_NON_Q_VECTORS;
+       nn->num_r_vecs = nn->max_r_vecs;
 
-       if (nn->num_irqs < wanted_irqs)
+       if (n < wanted_irqs)
                nn_warn(nn, "Unable to allocate %d vectors. Got %d instead\n",
-                       wanted_irqs, nn->num_irqs);
+                       wanted_irqs, n);
 
-       return nn->num_irqs;
+       return n;
 }
 
 /**