struct fib *aac_fib_alloc_tag(struct aac_dev *dev, struct scsi_cmnd *scmd)
 {
        struct fib *fibptr;
-       u32 blk_tag;
-       int i;
 
-       blk_tag = blk_mq_unique_tag(scsi_cmd_to_rq(scmd));
-       i = blk_mq_unique_tag_to_tag(blk_tag);
-       fibptr = &dev->fibs[i];
+       fibptr = &dev->fibs[scsi_cmd_to_rq(scmd)->tag];
        /*
         *      Null out fields that depend on being zero at the start of
         *      each I/O
 
 
 #include <linux/compat.h>
 #include <linux/blkdev.h>
-#include <linux/blk-mq-pci.h>
 #include <linux/completion.h>
 #include <linux/init.h>
 #include <linux/interrupt.h>
        return 0;
 }
 
-static void aac_map_queues(struct Scsi_Host *shost)
-{
-       struct aac_dev *aac = (struct aac_dev *)shost->hostdata;
-
-       blk_mq_pci_map_queues(&shost->tag_set.map[HCTX_TYPE_DEFAULT],
-                             aac->pdev, 0);
-       aac->use_map_queue = true;
-}
-
 /**
  *     aac_change_queue_depth          -       alter queue depths
  *     @sdev:  SCSI device we are considering
        .bios_param                     = aac_biosparm,
        .shost_groups                   = aac_host_groups,
        .slave_configure                = aac_slave_configure,
-       .map_queues                     = aac_map_queues,
        .change_queue_depth             = aac_change_queue_depth,
        .sdev_groups                    = aac_dev_groups,
        .eh_abort_handler               = aac_eh_abort,
        shost->max_lun = AAC_MAX_LUN;
 
        pci_set_drvdata(pdev, shost);
-       shost->nr_hw_queues = aac->max_msix;
-       shost->host_tagset = 1;
 
        error = scsi_add_host(shost, &pdev->dev);
        if (error)
        struct aac_dev *aac = (struct aac_dev *)shost->hostdata;
 
        aac_cancel_rescan_worker(aac);
-       aac->use_map_queue = false;
        scsi_remove_host(shost);
 
        __aac_shutdown(aac);
 
 #endif
 
        u16 vector_no;
-       struct scsi_cmnd *scmd;
-       u32 blk_tag;
-       struct Scsi_Host *shost = dev->scsi_host_ptr;
-       struct blk_mq_queue_map *qmap;
 
        atomic_inc(&q->numpending);
 
                if ((dev->comm_interface == AAC_COMM_MESSAGE_TYPE3)
                        && dev->sa_firmware)
                        vector_no = aac_get_vector(dev);
-               else {
-                       if (!fib->vector_no || !fib->callback_data) {
-                               if (shost && dev->use_map_queue) {
-                                       qmap = &shost->tag_set.map[HCTX_TYPE_DEFAULT];
-                                       vector_no = qmap->mq_map[raw_smp_processor_id()];
-                               }
-                               /*
-                                *      We hardcode the vector_no for
-                                *      reserved commands as a valid shost is
-                                *      absent during the init
-                                */
-                               else
-                                       vector_no = 0;
-                       } else {
-                               scmd = (struct scsi_cmnd *)fib->callback_data;
-                               blk_tag = blk_mq_unique_tag(scsi_cmd_to_rq(scmd));
-                               vector_no = blk_mq_unique_tag_to_hwq(blk_tag);
-                       }
-               }
+               else
+                       vector_no = fib->vector_no;
 
                if (native_hba) {
                        if (fib->flags & FIB_CONTEXT_FLAG_NATIVE_HBA_TMF) {