diff options
author | James Smart <James.Smart@Emulex.Com> | 2009-05-22 14:53:12 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-06-08 12:26:01 -0400 |
commit | f4b4c68f74dcd5da03df851090cad28ad4e8d7cc (patch) | |
tree | c9ae4867a01cbdb11c008c23830ddd7c7220bee8 /drivers/scsi/lpfc/lpfc_init.c | |
parent | d8e93df13c8f7bde45a7756944aab528c58df4cf (diff) |
[SCSI] lpfc 8.3.2 : Miscellaneous Changes
Miscellaneous Changes:
- Convert from SLI2_ACTIVE flag to more correct SLI_ACTIVE (generic) flag
- Reposition log verbose messaging definitions
- Update naming for vpi object name from vport slang name
- Handle deferred error attention condition
- Add 10G link support
- Small bug fixup
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_init.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_init.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 8c30f5707f95..65cd3fe62200 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c | |||
@@ -906,7 +906,7 @@ lpfc_hb_timeout_handler(struct lpfc_hba *phba) | |||
906 | "taking this port offline.\n"); | 906 | "taking this port offline.\n"); |
907 | 907 | ||
908 | spin_lock_irq(&phba->hbalock); | 908 | spin_lock_irq(&phba->hbalock); |
909 | psli->sli_flag &= ~LPFC_SLI2_ACTIVE; | 909 | psli->sli_flag &= ~LPFC_SLI_ACTIVE; |
910 | spin_unlock_irq(&phba->hbalock); | 910 | spin_unlock_irq(&phba->hbalock); |
911 | 911 | ||
912 | lpfc_offline_prep(phba); | 912 | lpfc_offline_prep(phba); |
@@ -931,13 +931,15 @@ lpfc_offline_eratt(struct lpfc_hba *phba) | |||
931 | struct lpfc_sli *psli = &phba->sli; | 931 | struct lpfc_sli *psli = &phba->sli; |
932 | 932 | ||
933 | spin_lock_irq(&phba->hbalock); | 933 | spin_lock_irq(&phba->hbalock); |
934 | psli->sli_flag &= ~LPFC_SLI2_ACTIVE; | 934 | psli->sli_flag &= ~LPFC_SLI_ACTIVE; |
935 | spin_unlock_irq(&phba->hbalock); | 935 | spin_unlock_irq(&phba->hbalock); |
936 | lpfc_offline_prep(phba); | 936 | lpfc_offline_prep(phba); |
937 | 937 | ||
938 | lpfc_offline(phba); | 938 | lpfc_offline(phba); |
939 | lpfc_reset_barrier(phba); | 939 | lpfc_reset_barrier(phba); |
940 | spin_lock_irq(&phba->hbalock); | ||
940 | lpfc_sli_brdreset(phba); | 941 | lpfc_sli_brdreset(phba); |
942 | spin_unlock_irq(&phba->hbalock); | ||
941 | lpfc_hba_down_post(phba); | 943 | lpfc_hba_down_post(phba); |
942 | lpfc_sli_brdready(phba, HS_MBRDY); | 944 | lpfc_sli_brdready(phba, HS_MBRDY); |
943 | lpfc_unblock_mgmt_io(phba); | 945 | lpfc_unblock_mgmt_io(phba); |
@@ -980,6 +982,16 @@ lpfc_handle_deferred_eratt(struct lpfc_hba *phba) | |||
980 | struct lpfc_sli_ring *pring; | 982 | struct lpfc_sli_ring *pring; |
981 | struct lpfc_sli *psli = &phba->sli; | 983 | struct lpfc_sli *psli = &phba->sli; |
982 | 984 | ||
985 | /* If the pci channel is offline, ignore possible errors, | ||
986 | * since we cannot communicate with the pci card anyway. | ||
987 | */ | ||
988 | if (pci_channel_offline(phba->pcidev)) { | ||
989 | spin_lock_irq(&phba->hbalock); | ||
990 | phba->hba_flag &= ~DEFER_ERATT; | ||
991 | spin_unlock_irq(&phba->hbalock); | ||
992 | return; | ||
993 | } | ||
994 | |||
983 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, | 995 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, |
984 | "0479 Deferred Adapter Hardware Error " | 996 | "0479 Deferred Adapter Hardware Error " |
985 | "Data: x%x x%x x%x\n", | 997 | "Data: x%x x%x x%x\n", |
@@ -987,7 +999,7 @@ lpfc_handle_deferred_eratt(struct lpfc_hba *phba) | |||
987 | phba->work_status[0], phba->work_status[1]); | 999 | phba->work_status[0], phba->work_status[1]); |
988 | 1000 | ||
989 | spin_lock_irq(&phba->hbalock); | 1001 | spin_lock_irq(&phba->hbalock); |
990 | psli->sli_flag &= ~LPFC_SLI2_ACTIVE; | 1002 | psli->sli_flag &= ~LPFC_SLI_ACTIVE; |
991 | spin_unlock_irq(&phba->hbalock); | 1003 | spin_unlock_irq(&phba->hbalock); |
992 | 1004 | ||
993 | 1005 | ||
@@ -1097,7 +1109,7 @@ lpfc_handle_eratt_s3(struct lpfc_hba *phba) | |||
1097 | phba->work_status[0], phba->work_status[1]); | 1109 | phba->work_status[0], phba->work_status[1]); |
1098 | 1110 | ||
1099 | spin_lock_irq(&phba->hbalock); | 1111 | spin_lock_irq(&phba->hbalock); |
1100 | psli->sli_flag &= ~LPFC_SLI2_ACTIVE; | 1112 | psli->sli_flag &= ~LPFC_SLI_ACTIVE; |
1101 | spin_unlock_irq(&phba->hbalock); | 1113 | spin_unlock_irq(&phba->hbalock); |
1102 | 1114 | ||
1103 | /* | 1115 | /* |