Blob Blame History Raw
From: "Martin K. Petersen" <martin.petersen@oracle.com>
Date: Wed, 12 Dec 2018 20:26:56 -0500
Subject: [PATCH] Revert "scsi: lpfc: ls_rjt erroneus FLOGIs"
Git-commit: 2d1036aea463e34d03b402e6a918ec89a742b2bb
Patch-mainline: v5.0-rc1
References: bsc#1119322

This reverts commit 287aba2592870fa5b76134b28173b77f1f7a4492.

We killed the bad firmware and this mod is no longer necessary.

Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Hannes Reinecke <hare@suse.com>
---
 drivers/scsi/lpfc/lpfc_els.c | 20 --------------------
 drivers/scsi/lpfc/lpfc_hw.h  |  1 -
 2 files changed, 21 deletions(-)

diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c
index 103ee7049633..27e0f10cefed 100644
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -8091,10 +8091,8 @@ lpfc_els_unsol_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
 	struct ls_rjt stat;
 	uint32_t *payload;
 	uint32_t cmd, did, newnode;
-	uint32_t vid, flag;
 	uint8_t rjt_exp, rjt_err = 0, init_link = 0;
 	IOCB_t *icmd = &elsiocb->iocb;
-	struct serv_parm *sp;
 	LPFC_MBOXQ_t *mbox;
 
 	if (!vport || !(elsiocb->context2))
@@ -8245,22 +8243,6 @@ lpfc_els_unsol_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
 			did, vport->port_state, ndlp->nlp_flag);
 
 		phba->fc_stat.elsRcvFLOGI++;
-		sp = (struct serv_parm *)
-			((uint8_t *)payload + sizeof(uint32_t));
-
-		/* Check to see if this is firmware generated */
-		if (sp->cmn.valid_vendor_ver_level) {
-			vid = be32_to_cpu(sp->un.vv.vid);
-			flag = be32_to_cpu(sp->un.vv.flags);
-			if (vid == LPFC_VV_BRCD_ID) {
-				/* Drop this FLOGI */
-				lpfc_printf_vlog(
-					vport, KERN_INFO, LOG_ELS,
-					"3316 Dropping rcv FLOGI: "
-					"flag x%x\n", flag);
-				goto lsrjt;
-			}
-		}
 
 		/* If the driver believes fabric discovery is done and is ready,
 		 * bounce the link.  There is some descrepancy.
@@ -8508,8 +8490,6 @@ lpfc_els_unsol_buffer(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
 	 * link and start over.
 	 */
 	if (init_link) {
-		lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS,
-				 "3318 Resetting Link, multiple rcv FLOGIs\n");
 		mbox = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL);
 		if (!mbox)
 			return;
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h
index eb49c720e042..ec1227018913 100644
--- a/drivers/scsi/lpfc/lpfc_hw.h
+++ b/drivers/scsi/lpfc/lpfc_hw.h
@@ -525,7 +525,6 @@ struct serv_parm {	/* Structure is in Big Endian format */
 		struct {
 			uint32_t vid;
 #define LPFC_VV_EMLX_ID	0x454d4c58	/* EMLX */
-#define LPFC_VV_BRCD_ID	0x42524344	/* BRCD */
 			uint32_t flags;
 #define LPFC_VV_SUPPRESS_RSP	1
 		} vv;
-- 
2.16.4