diff options
author | James Smart <james.smart@emulex.com> | 2012-03-01 22:34:19 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-03-27 03:26:29 -0400 |
commit | 41899be7e8b95c9c8b51ad4ff932769af508306f (patch) | |
tree | 0e1782192f86a9bedbc23bbdc1414ef7a2552b2c | |
parent | bdcd2b926192c7f690a9cb4fb2de30eb820983fc (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>
-rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 6 | ||||
-rw-r--r-- | drivers/scsi/lpfc/lpfc_sli.c | 2 |
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); |