aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/device_handler/scsi_dh_alua.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index f375167f16ea..7bb20684e9fa 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -891,6 +891,7 @@ static void alua_rtpg_queue(struct alua_port_group *pg,
891 /* Do not queue if the worker is already running */ 891 /* Do not queue if the worker is already running */
892 if (!(pg->flags & ALUA_PG_RUNNING)) { 892 if (!(pg->flags & ALUA_PG_RUNNING)) {
893 kref_get(&pg->kref); 893 kref_get(&pg->kref);
894 sdev = NULL;
894 start_queue = 1; 895 start_queue = 1;
895 } 896 }
896 } 897 }
@@ -902,7 +903,8 @@ static void alua_rtpg_queue(struct alua_port_group *pg,
902 if (start_queue && 903 if (start_queue &&
903 !queue_delayed_work(alua_wq, &pg->rtpg_work, 904 !queue_delayed_work(alua_wq, &pg->rtpg_work,
904 msecs_to_jiffies(ALUA_RTPG_DELAY_MSECS))) { 905 msecs_to_jiffies(ALUA_RTPG_DELAY_MSECS))) {
905 scsi_device_put(sdev); 906 if (sdev)
907 scsi_device_put(sdev);
906 kref_put(&pg->kref, release_port_group); 908 kref_put(&pg->kref, release_port_group);
907 } 909 }
908} 910}