Messages in this thread Patch in this message | | | From | cgel.zte@gmail ... | Subject | [PATCH] drivers/scsi/csiostor: do not sleep with a spin lock held | Date | Wed, 19 Jan 2022 05:59:55 +0000 |
| |
From: Minghao Chi <chi.minghao@zte.com.cn>
The might_sleep_if function in the mempool_alloc may cause a sleep lock.We can't mempool_alloc() with a spin lock held, so bring it up front.
Reported-by: Zeal Robot <zealci@zte.com.cn> Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn> Signed-off-by: CGEL ZTE <cgel.zte@gmail.com> --- drivers/scsi/csiostor/csio_attr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/csiostor/csio_attr.c b/drivers/scsi/csiostor/csio_attr.c index 200e50089711..3d4ab439c756 100644 --- a/drivers/scsi/csiostor/csio_attr.c +++ b/drivers/scsi/csiostor/csio_attr.c @@ -424,8 +424,8 @@ csio_fcoe_alloc_vnp(struct csio_hw *hw, struct csio_lnode *ln) /* Issue VNP cmd to alloc vport */ /* Allocate Mbox request */ - spin_lock_irq(&hw->lock); mbp = mempool_alloc(hw->mb_mempool, GFP_ATOMIC); + spin_lock_irq(&hw->lock); if (!mbp) { CSIO_INC_STATS(hw, n_err_nomem); ret = -ENOMEM; @@ -505,8 +505,8 @@ csio_fcoe_free_vnp(struct csio_hw *hw, struct csio_lnode *ln) /* Issue VNP cmd to free vport */ /* Allocate Mbox request */ - spin_lock_irq(&hw->lock); mbp = mempool_alloc(hw->mb_mempool, GFP_ATOMIC); + spin_lock_irq(&hw->lock); if (!mbp) { CSIO_INC_STATS(hw, n_err_nomem); ret = -ENOMEM; -- 2.25.1
| |