aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_init.c
diff options
context:
space:
mode:
authorJames Smart <James.Smart@Emulex.Com>2007-10-27 13:38:11 -0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-01-11 19:22:33 -0500
commit7af670510df343db55752a2210dcf4fc09f59fbb (patch)
tree59baacb490afb7dcd955ad8daca734eae7d8cef8 /drivers/scsi/lpfc/lpfc_init.c
parent76bb24efdc5de8eead0ccc07ec7e3b59a4ca0f15 (diff)
[SCSI] lpfc 8.2.3 : Temperature handling fix
Temperature handling fix - return proper error code indicator for applications 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.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index db96f7504a14..0615af41c7b5 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -246,6 +246,15 @@ lpfc_config_port_post(struct lpfc_hba *phba)
246 int i, j; 246 int i, j;
247 int rc; 247 int rc;
248 248
249 spin_lock_irq(&phba->hbalock);
250 /*
251 * If the Config port completed correctly the HBA is not
252 * over heated any more.
253 */
254 if (phba->over_temp_state == HBA_OVER_TEMP)
255 phba->over_temp_state = HBA_NORMAL_TEMP;
256 spin_unlock_irq(&phba->hbalock);
257
249 pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); 258 pmb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
250 if (!pmb) { 259 if (!pmb) {
251 phba->link_state = LPFC_HBA_ERROR; 260 phba->link_state = LPFC_HBA_ERROR;
@@ -703,7 +712,10 @@ lpfc_handle_eratt(struct lpfc_hba *phba)
703 SCSI_NL_VID_TYPE_PCI 712 SCSI_NL_VID_TYPE_PCI
704 | PCI_VENDOR_ID_EMULEX); 713 | PCI_VENDOR_ID_EMULEX);
705 714
715 spin_lock_irq(&phba->hbalock);
706 psli->sli_flag &= ~LPFC_SLI2_ACTIVE; 716 psli->sli_flag &= ~LPFC_SLI2_ACTIVE;
717 phba->over_temp_state = HBA_OVER_TEMP;
718 spin_unlock_irq(&phba->hbalock);
707 lpfc_offline_prep(phba); 719 lpfc_offline_prep(phba);
708 lpfc_offline(phba); 720 lpfc_offline(phba);
709 lpfc_unblock_mgmt_io(phba); 721 lpfc_unblock_mgmt_io(phba);