]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: qla2xxx: edif: Tear down session if keys have been removed
authorQuinn Tran <qutran@marvell.com>
Wed, 8 Jun 2022 11:58:44 +0000 (04:58 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:41:22 +0000 (14:41 +0200)
[ Upstream commit d7e2e4a68fc047a025afcd200e6b7e1fbc8b1999 ]

If all keys for a session have been deleted, trigger a session teardown.

Link: https://lore.kernel.org/r/20220608115849.16693-6-njavali@marvell.com
Fixes: dd30706e73b7 ("scsi: qla2xxx: edif: Add key update")
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/qla2xxx/qla_def.h
drivers/scsi/qla2xxx/qla_isr.c

index c2b92a6fef907ab15b9e3296933be6213a6cfbed..4062d46f33a6a775209cb491be88112c5d7ee4a0 100644 (file)
@@ -2158,6 +2158,11 @@ typedef struct {
 #define CS_IOCB_ERROR          0x31    /* Generic error for IOCB request
                                           failure */
 #define CS_REJECT_RECEIVED     0x4E    /* Reject received */
+#define CS_EDIF_AUTH_ERROR     0x63    /* decrypt error */
+#define CS_EDIF_PAD_LEN_ERROR  0x65    /* pad > frame size, not 4byte align */
+#define CS_EDIF_INV_REQ                0x66    /* invalid request */
+#define CS_EDIF_SPI_ERROR      0x67    /* rx frame unable to locate sa */
+#define CS_EDIF_HDR_ERROR      0x69    /* data frame != expected len */
 #define CS_BAD_PAYLOAD         0x80    /* Driver defined */
 #define CS_UNKNOWN             0x81    /* Driver defined */
 #define CS_RETRY               0x82    /* Driver defined */
index 5deea6bff09f28ce5aefa5687ffaf595bbb3d7f2..ad55eace66aa336eaddfb8de404a5e9ca14f6ad4 100644 (file)
@@ -3424,6 +3424,7 @@ check_scsi_status:
        case CS_PORT_UNAVAILABLE:
        case CS_TIMEOUT:
        case CS_RESET:
+       case CS_EDIF_INV_REQ:
 
                /*
                 * We are going to have the fc class block the rport