* vectors available and so we need to lower the used
         * q count.
         */
-       qcount = min_t(int, vsi->alloc_queue_pairs, pf->num_lan_msix);
+       if (pf->flags & I40E_FLAG_MSIX_ENABLED)
+               qcount = min_t(int, vsi->alloc_queue_pairs, pf->num_lan_msix);
+       else
+               qcount = vsi->alloc_queue_pairs;
        num_tc_qps = qcount / numtc;
        num_tc_qps = min_t(int, num_tc_qps, i40e_pf_get_max_q_per_tc(pf));
 
        if ((vsi->type == I40E_VSI_MAIN) && (numtc == 1)) {
                if (vsi->req_queue_pairs > 0)
                        vsi->num_queue_pairs = vsi->req_queue_pairs;
-               else
+               else if (pf->flags & I40E_FLAG_MSIX_ENABLED)
                        vsi->num_queue_pairs = pf->num_lan_msix;
        }
 
  * @v_idx: vector index
  * @qp_idx: queue pair index
  **/
-static void map_vector_to_qp(struct i40e_vsi *vsi, int v_idx, int qp_idx)
+static void i40e_map_vector_to_qp(struct i40e_vsi *vsi, int v_idx, int qp_idx)
 {
        struct i40e_q_vector *q_vector = vsi->q_vectors[v_idx];
        struct i40e_ring *tx_ring = vsi->tx_rings[qp_idx];
                q_vector->tx.ring = NULL;
 
                while (num_ringpairs--) {
-                       map_vector_to_qp(vsi, v_start, qp_idx);
+                       i40e_map_vector_to_qp(vsi, v_start, qp_idx);
                        qp_idx++;
                        qp_remaining--;
                }
                goto vector_setup_out;
        }
 
+       /* In Legacy mode, we do not have to get any other vector since we
+        * piggyback on the misc/ICR0 for queue interrupts.
+       */
+       if (!(pf->flags & I40E_FLAG_MSIX_ENABLED))
+               return ret;
        if (vsi->num_q_vectors)
                vsi->base_vector = i40e_get_lump(pf, pf->irq_pile,
                                                 vsi->num_q_vectors, vsi->idx);