From: Haoxiang Li <haoxiang_li2024@163.com>
To: James.Bottomley@HansenPartnership.com,
martin.petersen@oracle.com, david.carroll@microsemi.com,
justin.lindley@microsemi.com, scott.teel@microsemi.com
Cc: storagedev@microchip.com, linux-scsi@vger.kernel.org,
linux-kernel@vger.kernel.org,
Haoxiang Li <haoxiang_li2024@163.com>,
stable@vger.kernel.org
Subject: [PATCH] scsi: hpsa: fix DMA mapping leak on IOACCEL2 reset path
Date: Tue, 23 Jun 2026 00:00:28 +0800 [thread overview]
Message-ID: <20260622160028.1240496-1-haoxiang_li2024@163.com> (raw)
If phys_disk->in_reset is set, the function returns directly without
undoing the resources acquired for the command. Add the missing error
cleanup by unmapping the IOACCEL2 SG chain block when needed, unmapping
the SCSI command, and dropping the outstanding IOACCEL command count
before returning.
Fixes: c5dfd106414f ("scsi: hpsa: correct device resets")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <haoxiang_li2024@163.com>
---
drivers/scsi/hpsa.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index a1b116cd4723..8edad1830abe 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -5017,6 +5017,10 @@ static int hpsa_scsi_ioaccel2_queue_command(struct ctlr_info *h,
if (phys_disk->in_reset) {
cmd->result = DID_RESET << 16;
+ atomic_dec(&phys_disk->ioaccel_cmds_out);
+ scsi_dma_unmap(cmd);
+ if (use_sg > h->ioaccel_maxsg)
+ hpsa_unmap_ioaccel2_sg_chain_block(h, cp);
return -1;
}
--
2.25.1
next reply other threads:[~2026-06-22 16:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-22 16:00 Haoxiang Li [this message]
2026-06-22 18:26 ` Don.Brace
2026-06-24 6:10 ` haoxiang_li2024
2026-06-24 14:06 ` Don.Brace
2026-07-13 2:32 ` Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260622160028.1240496-1-haoxiang_li2024@163.com \
--to=haoxiang_li2024@163.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=david.carroll@microsemi.com \
--cc=justin.lindley@microsemi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=scott.teel@microsemi.com \
--cc=stable@vger.kernel.org \
--cc=storagedev@microchip.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox