diff options
author | James Smart <jsmart2021@gmail.com> | 2018-11-29 16:09:35 -0800 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2018-12-07 22:35:32 -0500 |
commit | 287aba2592870fa5b76134b28173b77f1f7a4492 (patch) | |
tree | 23ce42e20e958b3f0d705d254b8970bd969f1cd3 /drivers/scsi/lpfc/lpfc_hw.h | |
parent | 92ea83a878c68f709a172dd0125582b311d4d0d0 (diff) | |
download | lwn-287aba2592870fa5b76134b28173b77f1f7a4492.tar.gz lwn-287aba2592870fa5b76134b28173b77f1f7a4492.zip |
scsi: lpfc: ls_rjt erroneus FLOGIs
In some link initialization sequences, the fw generates an erroneous FLOGI
payload to the driver without an intervening link bounce. The driver, when
it sees a 2nd FLOGI without an intervening link bounce, automatically
performs a link bounce. In this, the link bounce causes the situate to
repeat and in a nasty loop of link bounces.
Resolve the issue by validating the FLOGI payload. The erroneous FLOGI will
contain VVL signatures that are not normal. When the driver sees these, it
will simply reject the flogi rather than bouncing the link. The reject is
consumed within the firmware.
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_hw.h')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_hw.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h index ec1227018913..eb49c720e042 100644 --- a/drivers/scsi/lpfc/lpfc_hw.h +++ b/drivers/scsi/lpfc/lpfc_hw.h @@ -525,6 +525,7 @@ 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; |