summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc
diff options
context:
space:
mode:
authorJames Smart2012-06-12 19:54:20 +0200
committerJames Bottomley2012-07-20 09:58:27 +0200
commit3b3da6a974357887c73c5ee61988dbe3a8f62d88 (patch)
tree2f69140442da360665ec24a6b7b181eed15c9b19 /drivers/scsi/lpfc
parent[SCSI] lpfc 8.3.32: Correct null pointer Error in lpfc_sli.c (diff)
downloadkernel-qcow2-linux-3b3da6a974357887c73c5ee61988dbe3a8f62d88.tar.gz
kernel-qcow2-linux-3b3da6a974357887c73c5ee61988dbe3a8f62d88.tar.xz
kernel-qcow2-linux-3b3da6a974357887c73c5ee61988dbe3a8f62d88.zip
[SCSI] lpfc 8.3.32: Fix CQ and EQ dump failure for debugfs
Fixed debug helper routine failed to dump CQ and EQ entries in non-MSI-X mode Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc')
-rw-r--r--drivers/scsi/lpfc/lpfc_debugfs.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/scsi/lpfc/lpfc_debugfs.h b/drivers/scsi/lpfc/lpfc_debugfs.h
index 616c400dae14..afe368fd1b98 100644
--- a/drivers/scsi/lpfc/lpfc_debugfs.h
+++ b/drivers/scsi/lpfc/lpfc_debugfs.h
@@ -395,8 +395,13 @@ lpfc_debug_dump_fcp_cq(struct lpfc_hba *phba, int fcp_wqidx)
for (fcp_cqidx = 0; fcp_cqidx < phba->cfg_fcp_eq_count; fcp_cqidx++)
if (phba->sli4_hba.fcp_cq[fcp_cqidx]->queue_id == fcp_cqid)
break;
- if (fcp_cqidx >= phba->cfg_fcp_eq_count)
- return;
+ if (phba->intr_type == MSIX) {
+ if (fcp_cqidx >= phba->cfg_fcp_eq_count)
+ return;
+ } else {
+ if (fcp_cqidx > 0)
+ return;
+ }
printk(KERN_ERR "FCP CQ: WQ[Idx:%d|Qid%d]->CQ[Idx%d|Qid%d]:\n",
fcp_wqidx, phba->sli4_hba.fcp_wq[fcp_wqidx]->queue_id,
@@ -426,8 +431,13 @@ lpfc_debug_dump_fcp_eq(struct lpfc_hba *phba, int fcp_wqidx)
for (fcp_cqidx = 0; fcp_cqidx < phba->cfg_fcp_eq_count; fcp_cqidx++)
if (phba->sli4_hba.fcp_cq[fcp_cqidx]->queue_id == fcp_cqid)
break;
- if (fcp_cqidx >= phba->cfg_fcp_eq_count)
- return;
+ if (phba->intr_type == MSIX) {
+ if (fcp_cqidx >= phba->cfg_fcp_eq_count)
+ return;
+ } else {
+ if (fcp_cqidx > 0)
+ return;
+ }
if (phba->cfg_fcp_eq_count == 0) {
fcp_eqidx = -1;