aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2012-03-01 22:34:19 -0500
committerJames Bottomley <JBottomley@Parallels.com>2012-03-27 03:26:29 -0400
commit41899be7e8b95c9c8b51ad4ff932769af508306f (patch)
tree0e1782192f86a9bedbc23bbdc1414ef7a2552b2c /drivers
parentbdcd2b926192c7f690a9cb4fb2de30eb820983fc (diff)
[SCSI] lpfc 8.3.30: Fix port and system failure in SLI4 FC function reset
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')
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c6
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index b38f99f3be32..c61508d7a0a1 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -2786,9 +2786,13 @@ lpfc_scsi_buf_update(struct lpfc_hba *phba)
2786 2786
2787 spin_lock_irq(&phba->hbalock); 2787 spin_lock_irq(&phba->hbalock);
2788 spin_lock(&phba->scsi_buf_list_lock); 2788 spin_lock(&phba->scsi_buf_list_lock);
2789 list_for_each_entry_safe(sb, sb_next, &phba->lpfc_scsi_buf_list, list) 2789 list_for_each_entry_safe(sb, sb_next, &phba->lpfc_scsi_buf_list, list) {
2790 sb->cur_iocbq.sli4_xritag = 2790 sb->cur_iocbq.sli4_xritag =
2791 phba->sli4_hba.xri_ids[sb->cur_iocbq.sli4_lxritag]; 2791 phba->sli4_hba.xri_ids[sb->cur_iocbq.sli4_lxritag];
2792 set_bit(sb->cur_iocbq.sli4_lxritag, phba->sli4_hba.xri_bmask);
2793 phba->sli4_hba.max_cfg_param.xri_used++;
2794 phba->sli4_hba.xri_count++;
2795 }
2792 spin_unlock(&phba->scsi_buf_list_lock); 2796 spin_unlock(&phba->scsi_buf_list_lock);
2793 spin_unlock_irq(&phba->hbalock); 2797 spin_unlock_irq(&phba->hbalock);
2794 return 0; 2798 return 0;
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index 5a15ce848285..99afe1522273 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -5613,6 +5613,8 @@ lpfc_sli4_alloc_resource_identifiers(struct lpfc_hba *phba)
5613 rc = -ENOMEM; 5613 rc = -ENOMEM;
5614 goto free_vpi_ids; 5614 goto free_vpi_ids;
5615 } 5615 }
5616 phba->sli4_hba.max_cfg_param.xri_used = 0;
5617 phba->sli4_hba.xri_count = 0;
5616 phba->sli4_hba.xri_ids = kzalloc(count * 5618 phba->sli4_hba.xri_ids = kzalloc(count *
5617 sizeof(uint16_t), 5619 sizeof(uint16_t),
5618 GFP_KERNEL); 5620 GFP_KERNEL);