From 7ef9f5f90a427d68206d7e4c6e4d5e3f7ea179be Mon Sep 17 00:00:00 2001 From: zhengbin Date: Fri, 22 Mar 2019 11:23:01 +0800 Subject: [PATCH] blk-mq: optimize code in store_state_field euler inclusion category: bugfix bugzilla: 12808 CVE: NA --------------------------- blk_mq_run_hw_queues should be in mutex_lock(&sdev->state_mutex), the pattern is used in __scsi_remove_device() already. Signed-off-by: zhengbin Reviewed-by: Jason Yan Signed-off-by: Yang Yingliang --- drivers/scsi/scsi_sysfs.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c index 70b2e3a1abc7..a37654820d40 100644 --- a/drivers/scsi/scsi_sysfs.c +++ b/drivers/scsi/scsi_sysfs.c @@ -770,16 +770,10 @@ store_state_field(struct device *dev, struct device_attribute *attr, */ if ((ret == 0) && (state == SDEV_RUNNING) && (sdev->request_queue->mq_ops != NULL)) - goto out_run_hw_queue; + blk_mq_run_hw_queues(sdev->request_queue, true); mutex_unlock(&sdev->state_mutex); return ret == 0 ? count : -EINVAL; - -out_run_hw_queue: - mutex_unlock(&sdev->state_mutex); - blk_mq_run_hw_queues(sdev->request_queue, true); - - return count; } static ssize_t -- GitLab