irq_set_affinity_hint(nq->msix_vec, NULL);
        free_irq(nq->msix_vec, nq);
+       kfree(nq->name);
+       nq->name = NULL;
        nq->requested = false;
 }
 
 int bnxt_qplib_nq_start_irq(struct bnxt_qplib_nq *nq, int nq_indx,
                            int msix_vector, bool need_init)
 {
+       struct bnxt_qplib_res *res = nq->res;
        int rc;
 
        if (nq->requested)
        else
                tasklet_enable(&nq->nq_tasklet);
 
-       snprintf(nq->name, sizeof(nq->name), "bnxt_qplib_nq-%d", nq_indx);
+       nq->name = kasprintf(GFP_KERNEL, "bnxt_re-nq-%d@pci:%s",
+                            nq_indx, pci_name(res->pdev));
+       if (!nq->name)
+               return -ENOMEM;
        rc = request_irq(nq->msix_vec, bnxt_qplib_nq_irq, 0, nq->name, nq);
        if (rc) {
+               kfree(nq->name);
+               nq->name = NULL;
                tasklet_disable(&nq->nq_tasklet);
                return rc;
        }
                         nq->msix_vec, nq_indx);
        }
        nq->requested = true;
-       bnxt_qplib_ring_nq_db(&nq->nq_db.dbinfo, nq->res->cctx, true);
+       bnxt_qplib_ring_nq_db(&nq->nq_db.dbinfo, res->cctx, true);
 
        return rc;
 }
 
                tasklet_kill(&creq->creq_tasklet);
 
        free_irq(creq->msix_vec, rcfw);
+       kfree(creq->irq_name);
+       creq->irq_name = NULL;
        creq->requested = false;
 }
 
                              bool need_init)
 {
        struct bnxt_qplib_creq_ctx *creq;
+       struct bnxt_qplib_res *res;
        int rc;
 
        creq = &rcfw->creq;
+       res = rcfw->res;
 
        if (creq->requested)
                return -EFAULT;
                tasklet_setup(&creq->creq_tasklet, bnxt_qplib_service_creq);
        else
                tasklet_enable(&creq->creq_tasklet);
+
+       creq->irq_name = kasprintf(GFP_KERNEL, "bnxt_re-creq@pci:%s",
+                                  pci_name(res->pdev));
+       if (!creq->irq_name)
+               return -ENOMEM;
        rc = request_irq(creq->msix_vec, bnxt_qplib_creq_irq, 0,
-                        "bnxt_qplib_creq", rcfw);
+                        creq->irq_name, rcfw);
        if (rc) {
+               kfree(creq->irq_name);
+               creq->irq_name = NULL;
                tasklet_disable(&creq->creq_tasklet);
                return rc;
        }
        creq->requested = true;
 
-       bnxt_qplib_ring_nq_db(&creq->creq_db.dbinfo, rcfw->res->cctx, true);
+       bnxt_qplib_ring_nq_db(&creq->creq_db.dbinfo, res->cctx, true);
 
        return 0;
 }