[GIT,PULL] SCSI fixes for 6.6-rc6

Message ID 6aaeacbf526de186b21b2061fcf3a4d777e8563f.camel@HansenPartnership.com
State New
Headers
Series [GIT,PULL] SCSI fixes for 6.6-rc6 |

Commit Message

James Bottomley Oct. 20, 2023, 7:50 p.m. UTC
  Two small fixes, both in drivers.  The mptsas one is really fixing an
error path issue where it can leave the misc driver loaded even though
the sas driver fails to initialize.

The patch is available here:

git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-fixes

Quinn Tran (1):
      scsi: qla2xxx: Fix double free of dsd_list during driver load

Tomas Henzl (1):
      scsi: mpt3sas: Fix in error path

And the diffstat:

 drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 +++-
 drivers/scsi/qla2xxx/qla_os.c        | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

With full diff below

James

---
  

Comments

pr-tracker-bot@kernel.org Oct. 20, 2023, 8:27 p.m. UTC | #1
The pull request you sent on Fri, 20 Oct 2023 15:50:37 -0400:

> git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-fixes

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/75e167c2f63c45317f18170c1dee1df2167098c2

Thank you!
  

Patch

diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
index c3c1f466fe01..605013d3ee83 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
@@ -12913,8 +12913,10 @@  _mpt3sas_init(void)
 	mpt3sas_ctl_init(hbas_to_enumerate);
 
 	error = pci_register_driver(&mpt3sas_driver);
-	if (error)
+	if (error) {
+		mpt3sas_ctl_exit(hbas_to_enumerate);
 		scsih_exit();
+	}
 
 	return error;
 }
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
index 50db08265c51..dcae09a37d49 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
@@ -4953,7 +4953,7 @@  qla2x00_mem_free(struct qla_hw_data *ha)
 	ha->gid_list = NULL;
 	ha->gid_list_dma = 0;
 
-	if (!list_empty(&ha->base_qpair->dsd_list)) {
+	if (ha->base_qpair && !list_empty(&ha->base_qpair->dsd_list)) {
 		struct dsd_dma *dsd_ptr, *tdsd_ptr;
 
 		/* clean up allocated prev pool */