From: Rob Evers <revers@redhat.com> Date: Wed, 27 Oct 2010 15:23:02 -0400 Subject: [scsi] lpfc: fix lpfc_els_retry delay/retry for PLOGI Message-id: <1288192999-24221-11-git-send-email-revers@redhat.com> Patchwork-id: 28936 O-Subject: [RHEL5.6 PATCH 10/27] lpfc: adjust lpfc_els_retry delay/retry for PLOGI, attr remove owner. Bugzilla: 639028 lpfc: adjust lpfc_els_retry delay/retry for PLOGI, attr remove owner. From: Rob Evers on behalf of Emulex <revers@redhat.com> https://bugzilla.redhat.com/show_bug.cgi?id=636289 Merged revisions 8883 via svnmerge from http://blsvn.ma.emulex.com/svndata/lpfc-repos/branches/kernel-sync diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index 6b40260..385bac7 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c @@ -3129,7 +3129,6 @@ static struct bin_attribute sysfs_drvr_stat_data_attr = { .attr = { .name = "lpfc_drvr_stat_data", .mode = S_IRUSR, - .owner = THIS_MODULE, }, .size = LPFC_MAX_TARGET * MAX_STAT_DATA_SIZE_PER_TARGET, .read = sysfs_drvr_stat_data_read, diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index b450c73..97737ef 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c @@ -2867,6 +2867,15 @@ lpfc_els_retry(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, retry = 1; break; } + if (stat.un.b.lsRjtRsnCodeExp == + LSEXP_CANT_GIVE_DATA) { + if (cmd == ELS_CMD_PLOGI) { + delay = 1000; + maxretry = 48; + } + retry = 1; + break; + } if (cmd == ELS_CMD_PLOGI) { delay = 1000; maxretry = lpfc_max_els_tries + 1;