android_kernel_xiaomi_sm7250/drivers/scsi/qla2xxx
Gleb Chesnokov e6e957f552 scsi: qla2xxx: Fix missed DMA unmap for aborted commands
[ Upstream commit 26f9ce53817a8fd84b69a73473a7de852a24c897 ]

Aborting commands that have already been sent to the firmware can
cause BUG in qlt_free_cmd(): BUG_ON(cmd->sg_mapped)

For instance:

 - Command passes rdx_to_xfer state, maps sgl, sends to the firmware

 - Reset occurs, qla2xxx performs ISP error recovery, aborts the command

 - Target stack calls qlt_abort_cmd() and then qlt_free_cmd()

 - BUG_ON(cmd->sg_mapped) in qlt_free_cmd() occurs because sgl was not
   unmapped

Thus, unmap sgl in qlt_abort_cmd() for commands with the aborted flag set.

Link: https://lore.kernel.org/r/AS8PR10MB4952D545F84B6B1DFD39EC1E9DEE9@AS8PR10MB4952.EURPRD10.PROD.OUTLOOK.COM
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Gleb Chesnokov <Chesnokov.G@raidix.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-05-25 09:10:40 +02:00
..
Kconfig
Makefile
qla_attr.c scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats() 2021-05-22 10:59:17 +02:00
qla_bsg.c scsi: qla2xxx: Fix use after free in bsg 2021-05-22 10:59:17 +02:00
qla_bsg.h
qla_dbg.c scsi: qla2xxx: Fix unbound NVME response length 2020-02-11 04:34:05 -08:00
qla_dbg.h scsi: qla2xxx: Fix unbound NVME response length 2020-02-11 04:34:05 -08:00
qla_def.h scsi: qla2xxx: Fix hang due to session stuck 2022-04-15 14:14:57 +02:00
qla_devtbl.h
qla_dfs.c
qla_fw.h
qla_gbl.h scsi: qla2xxx: Turn off target reset during issue_lip 2021-11-26 11:36:15 +01:00
qla_gs.c scsi: qla2xxx: Use correct feature type field during RFF_ID processing 2022-04-15 14:14:57 +02:00
qla_init.c scsi: qla2xxx: Reduce false trigger to login 2022-04-15 14:14:57 +02:00
qla_inline.h
qla_iocb.c scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump length 2020-01-09 10:18:56 +01:00
qla_isr.c scsi: qla2xxx: Fix incorrect reporting of task management failure 2022-04-15 14:14:57 +02:00
qla_mbx.c Revert "scsi: qla2xxx: Fix crash on qla2x00_mailbox_command" 2020-09-03 11:24:25 +02:00
qla_mid.c scsi: qla2xxx: Fix SRB leak on switch command timeout 2019-12-17 20:35:26 +01:00
qla_mr.c scsi: qla2xxx: Turn off target reset during issue_lip 2021-11-26 11:36:15 +01:00
qla_mr.h
qla_nvme.c scsi: qla2xxx: Sync queue idx with queue_pair_map idx 2021-09-22 11:48:09 +02:00
qla_nvme.h
qla_nx2.c
qla_nx2.h
qla_nx.c scsi: qla2xxx: Fix error return code in qla82xx_write_flash_dword() 2021-05-26 11:48:32 +02:00
qla_nx.h
qla_os.c scsi: qla2xxx: Turn off target reset during issue_lip 2021-11-26 11:36:15 +01:00
qla_settings.h
qla_sup.c
qla_target.c scsi: qla2xxx: Fix missed DMA unmap for aborted commands 2022-05-25 09:10:40 +02:00
qla_target.h scsi: qla2xxx: Fix broken #endif placement 2021-04-07 12:48:48 +02:00
qla_tmpl.c scsi: qla2xxx: Fix crash during driver load on big endian machines 2021-02-23 15:01:00 +01:00
qla_tmpl.h scsi: qla2xxx: Fix crash during driver load on big endian machines 2021-02-23 15:01:00 +01:00
qla_version.h
tcm_qla2xxx.c scsi: qla2xxx: Fix issue with adapter's stopping state 2020-06-25 15:32:48 +02:00
tcm_qla2xxx.h scsi: qla2xxx: deadlock by configfs_depend_item 2019-12-05 09:20:40 +01:00