struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
        int max_irqs, num_irqs, i, ret;
        u16 pci_cmd;
+       u32 max_rx_queues = IWL_MAX_RX_HW_QUEUES;
 
        if (!cfg_trans->mq_rx_supported)
                goto enable_msi;
 
-       max_irqs = min_t(u32, num_online_cpus() + 2, IWL_MAX_RX_HW_QUEUES);
+       if (cfg_trans->device_family <= IWL_DEVICE_FAMILY_9000)
+               max_rx_queues = IWL_9000_MAX_RX_HW_QUEUES;
+
+       max_irqs = min_t(u32, num_online_cpus() + 2, max_rx_queues);
        for (i = 0; i < max_irqs; i++)
                trans_pcie->msix_entries[i].entry = i;