Loading
scsi: qla2xxx: Clear cmds after chip reset
Commit aefed3e5 ("scsi: qla2xxx: target: Fix offline port handling and host reset handling") caused two problems: 1. Commands sent to FW, after chip reset got stuck and never freed as FW is not going to respond to them anymore. 2. BUG_ON(cmd->sg_mapped) in qlt_free_cmd(). Commit 26f9ce53 ("scsi: qla2xxx: Fix missed DMA unmap for aborted commands") attempted to fix this, but introduced another bug under different circumstances when two different CPUs were racing to call qlt_unmap_sg() at the same time: BUG_ON(!valid_dma_direction(dir)) in dma_unmap_sg_attrs(). So revert "scsi: qla2xxx: Fix missed DMA unmap for aborted commands" and partially revert "scsi: qla2xxx: target: Fix offline port handling and host reset handling" at __qla2x00_abort_all_cmds. Fixes: aefed3e5 ("scsi: qla2xxx: target: Fix offline port handling and host reset handling") Fixes: 26f9ce53 ("scsi: qla2xxx: Fix missed DMA unmap for aborted commands") Co-developed-by:Dmitry Bogdanov <d.bogdanov@yadro.com> Signed-off-by:
Dmitry Bogdanov <d.bogdanov@yadro.com> Signed-off-by:
Tony Battersby <tonyb@cybernetics.com> Link: https://patch.msgid.link/0e7e5d26-e7a0-42d1-8235-40eeb27f3e98@cybernetics.com Signed-off-by:
Martin K. Petersen <martin.petersen@oracle.com>