Gleb Chesnokov e21d734fd0 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:18:00 +02:00
..
2020-10-14 15:15:35 -07:00
2020-10-16 12:21:15 -07:00
2020-03-11 23:07:59 -04:00
2020-10-14 15:15:35 -07:00
2020-10-23 16:19:02 -07:00
2020-10-23 16:19:02 -07:00
2020-10-23 16:19:02 -07:00
2019-11-12 22:21:35 -05:00
2020-02-24 14:54:25 -05:00
2021-11-18 14:04:15 +01:00
2020-03-11 23:07:59 -04:00
2020-10-07 21:48:28 -04:00
2020-09-02 22:49:06 -04:00
2020-09-02 22:49:06 -04:00
2020-08-23 17:36:59 -05:00
2020-08-06 16:50:07 -07:00
2020-10-13 12:12:44 -07:00
2021-05-14 09:50:27 +02:00
2020-07-24 22:09:55 -04:00
2020-10-14 15:15:35 -07:00
2020-10-23 16:19:02 -07:00
2022-02-16 12:54:20 +01:00
2020-09-15 17:34:18 -04:00
2020-08-23 17:36:59 -05:00
2020-10-14 15:15:35 -07:00
2020-10-14 15:15:35 -07:00
2020-10-14 15:15:35 -07:00
2021-05-14 09:50:27 +02:00
2022-01-27 10:54:23 +01:00
2022-01-27 10:54:23 +01:00
2020-02-24 15:01:57 -05:00
2021-05-14 09:50:27 +02:00
2019-07-11 15:14:01 -07:00