tree 634a1337b734ed2ff8715e4c9368e764a03b6aac
parent 06325e7459b54fc924d00fe363068f6cbf284571
author [EMAIL PROTECTED] <[EMAIL PROTECTED]> Sat, 25 Jun 2005 18:34:27 -0400
committer James Bottomley <[EMAIL PROTECTED](none)> Sun, 03 Jul 2005 04:55:23 
-0500

[SCSI] lpfc: Fix LS_RJT never sent by lpfc_els_unsol_event()

lpfc_els_unsol_event() checks rjt_err to determine is LS_RJT should be
sent.  However, rjt_err was set to LSEXP_NOTHING_ELSE (which is 0) in
cases where an LS_RJT should be sent, so rjt_err was never true.
Change lpfc_els_unsol_event() to set rjt_err to 1 when LS_RJT should
be sent.

Signed-off-by: James Smart <[EMAIL PROTECTED]>
Signed-off-by: James Bottomley <[EMAIL PROTECTED]>

 drivers/scsi/lpfc/lpfc_els.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -3139,7 +3139,7 @@ lpfc_els_unsol_event(struct lpfc_hba * p
        case ELS_CMD_PLOGI:
                phba->fc_stat.elsRcvPLOGI++;
                if (phba->hba_state < LPFC_DISC_AUTH) {
-                       rjt_err = LSEXP_NOTHING_MORE;
+                       rjt_err = 1;
                        break;
                }
                lpfc_disc_state_machine(phba, ndlp, elsiocb, NLP_EVT_RCV_PLOGI);
@@ -3154,7 +3154,7 @@ lpfc_els_unsol_event(struct lpfc_hba * p
        case ELS_CMD_LOGO:
                phba->fc_stat.elsRcvLOGO++;
                if (phba->hba_state < LPFC_DISC_AUTH) {
-                       rjt_err = LSEXP_NOTHING_MORE;
+                       rjt_err = 1;
                        break;
                }
                lpfc_disc_state_machine(phba, ndlp, elsiocb, NLP_EVT_RCV_LOGO);
@@ -3162,7 +3162,7 @@ lpfc_els_unsol_event(struct lpfc_hba * p
        case ELS_CMD_PRLO:
                phba->fc_stat.elsRcvPRLO++;
                if (phba->hba_state < LPFC_DISC_AUTH) {
-                       rjt_err = LSEXP_NOTHING_MORE;
+                       rjt_err = 1;
                        break;
                }
                lpfc_disc_state_machine(phba, ndlp, elsiocb, NLP_EVT_RCV_PRLO);
@@ -3177,7 +3177,7 @@ lpfc_els_unsol_event(struct lpfc_hba * p
        case ELS_CMD_ADISC:
                phba->fc_stat.elsRcvADISC++;
                if (phba->hba_state < LPFC_DISC_AUTH) {
-                       rjt_err = LSEXP_NOTHING_MORE;
+                       rjt_err = 1;
                        break;
                }
                lpfc_disc_state_machine(phba, ndlp, elsiocb, NLP_EVT_RCV_ADISC);
@@ -3185,7 +3185,7 @@ lpfc_els_unsol_event(struct lpfc_hba * p
        case ELS_CMD_PDISC:
                phba->fc_stat.elsRcvPDISC++;
                if (phba->hba_state < LPFC_DISC_AUTH) {
-                       rjt_err = LSEXP_NOTHING_MORE;
+                       rjt_err = 1;
                        break;
                }
                lpfc_disc_state_machine(phba, ndlp, elsiocb, NLP_EVT_RCV_PDISC);
@@ -3209,7 +3209,7 @@ lpfc_els_unsol_event(struct lpfc_hba * p
        case ELS_CMD_PRLI:
                phba->fc_stat.elsRcvPRLI++;
                if (phba->hba_state < LPFC_DISC_AUTH) {
-                       rjt_err = LSEXP_NOTHING_MORE;
+                       rjt_err = 1;
                        break;
                }
                lpfc_disc_state_machine(phba, ndlp, elsiocb, NLP_EVT_RCV_PRLI);
@@ -3220,7 +3220,7 @@ lpfc_els_unsol_event(struct lpfc_hba * p
                break;
        default:
                /* Unsupported ELS command, reject */
-               rjt_err = LSEXP_NOTHING_MORE;
+               rjt_err = 1;
 
                /* Unknown ELS command <elsCmd> received from NPORT <did> */
                lpfc_printf_log(phba, KERN_ERR, LOG_ELS,
@@ -3236,7 +3236,7 @@ lpfc_els_unsol_event(struct lpfc_hba * p
        if (rjt_err) {
                stat.un.b.lsRjtRsvd0 = 0;
                stat.un.b.lsRjtRsnCode = LSRJT_UNABLE_TPC;
-               stat.un.b.lsRjtRsnCodeExp = rjt_err;
+               stat.un.b.lsRjtRsnCodeExp = LSEXP_NOTHING_MORE;
                stat.un.b.vendorUnique = 0;
                lpfc_els_rsp_reject(phba, stat.un.lsRjtError, elsiocb, ndlp);
        }
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to