diff options
author | Jamie Wellnitz <Jamie.Wellnitz@emulex.com> | 2006-02-28 19:25:36 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-02-28 20:05:14 -0500 |
commit | 0c6ac8efa83a465b950fe4dca096cd7ff1937f67 (patch) | |
tree | febbaea575e431c64e56ee741b3024c68e3241fe /drivers/scsi/lpfc | |
parent | 8189fd19ac5ee517f276982c5947ef7f565841ad (diff) |
[SCSI] lpfc 8.1.2: Fix panic caused by HBA resets and target side cable pulls
Fix panic caused by HBA resets and target side cable pulls
Signed-off-by: Jamie Wellnitz <Jamie.Wellnitz@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/lpfc')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_scsi.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c index fd7540ea4e19..094f18f1fa05 100644 --- a/drivers/scsi/lpfc/lpfc_scsi.c +++ b/drivers/scsi/lpfc/lpfc_scsi.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /******************************************************************* | 1 | /******************************************************************* |
2 | * This file is part of the Emulex Linux Device Driver for * | 2 | * This file is part of the Emulex Linux Device Driver for * |
3 | * Fibre Channel Host Bus Adapters. * | 3 | * Fibre Channel Host Bus Adapters. * |
4 | * Copyright (C) 2004-2005 Emulex. All rights reserved. * | 4 | * Copyright (C) 2004-2006 Emulex. All rights reserved. * |
5 | * EMULEX and SLI are trademarks of Emulex. * | 5 | * EMULEX and SLI are trademarks of Emulex. * |
6 | * www.emulex.com * | 6 | * www.emulex.com * |
7 | * Portions Copyright (C) 2004-2005 Christoph Hellwig * | 7 | * Portions Copyright (C) 2004-2005 Christoph Hellwig * |
@@ -467,7 +467,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn, | |||
467 | sdev = cmd->device; | 467 | sdev = cmd->device; |
468 | cmd->scsi_done(cmd); | 468 | cmd->scsi_done(cmd); |
469 | 469 | ||
470 | if (!result && | 470 | if (!result && pnode != NULL && |
471 | ((jiffies - pnode->last_ramp_up_time) > | 471 | ((jiffies - pnode->last_ramp_up_time) > |
472 | LPFC_Q_RAMP_UP_INTERVAL * HZ) && | 472 | LPFC_Q_RAMP_UP_INTERVAL * HZ) && |
473 | ((jiffies - pnode->last_q_full_time) > | 473 | ((jiffies - pnode->last_q_full_time) > |
@@ -495,7 +495,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn, | |||
495 | * Check for queue full. If the lun is reporting queue full, then | 495 | * Check for queue full. If the lun is reporting queue full, then |
496 | * back off the lun queue depth to prevent target overloads. | 496 | * back off the lun queue depth to prevent target overloads. |
497 | */ | 497 | */ |
498 | if (result == SAM_STAT_TASK_SET_FULL) { | 498 | if (result == SAM_STAT_TASK_SET_FULL && pnode != NULL) { |
499 | pnode->last_q_full_time = jiffies; | 499 | pnode->last_q_full_time = jiffies; |
500 | 500 | ||
501 | shost_for_each_device(tmp_sdev, sdev->host) { | 501 | shost_for_each_device(tmp_sdev, sdev->host) { |