aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorWilliam Dean <williamsukatube@gmail.com>2022-07-23 14:40:27 +0800
committerMartin K. Petersen <martin.petersen@oracle.com>2022-08-01 19:25:06 -0400
commitf00e0d7714895d10790e2bac4df00727ddb9abff (patch)
tree3d91a5e954a1a8345ccd06d17addb3527e09c63a /drivers/scsi
parentscsi: target: Remove XDWRITEREAD emulated support (diff)
downloadlinux-dev-f00e0d7714895d10790e2bac4df00727ddb9abff.tar.xz
linux-dev-f00e0d7714895d10790e2bac4df00727ddb9abff.zip
scsi: lpfc: Check the return value of alloc_workqueue()
The function alloc_workqueue() in lpfc_sli4_driver_resource_setup() can fail, but there is no check of its return value. The return value should be checked. Link: https://lore.kernel.org/r/20220723064027.2956623-1-williamsukatube@163.com Fixes: 3cee98db2610 ("scsi: lpfc: Fix crash on driver unload in wq free") Reported-by: Hacash Robot <hacashRobot@santino.com> Reviewed-by: James Smart <jsmart2021@gmail.com> Signed-off-by: William Dean <williamsukatube@gmail.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 4a0eadd1c22c..c69c5a0979ec 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -7948,6 +7948,8 @@ lpfc_sli4_driver_resource_setup(struct lpfc_hba *phba)
/* The lpfc_wq workqueue for deferred irq use */
phba->wq = alloc_workqueue("lpfc_wq", WQ_MEM_RECLAIM, 0);
+ if (!phba->wq)
+ return -ENOMEM;
/*
* Initialize timers used by driver