summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/device_handler
diff options
context:
space:
mode:
authorGreg Kroah-Hartman2016-11-14 08:11:29 +0100
committerGreg Kroah-Hartman2016-11-14 08:11:29 +0100
commit8a0a8e1c42fdf656e7b729e9c468c2caa687adb7 (patch)
treebde58e16dd5e6912deccac7e41b9a95f05187ea6 /drivers/scsi/device_handler
parentUSB: cdc-acm: use get_icount tty operation (diff)
parentLinux 4.9-rc5 (diff)
downloadkernel-qcow2-linux-8a0a8e1c42fdf656e7b729e9c468c2caa687adb7.tar.gz
kernel-qcow2-linux-8a0a8e1c42fdf656e7b729e9c468c2caa687adb7.tar.xz
kernel-qcow2-linux-8a0a8e1c42fdf656e7b729e9c468c2caa687adb7.zip
Merge 4.9-rc5 into usb-next
We want/need the USB fixes in here as well, for testing and merge issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/scsi/device_handler')
-rw-r--r--drivers/scsi/device_handler/scsi_dh_alua.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c b/drivers/scsi/device_handler/scsi_dh_alua.c
index 241829e59668..7bb20684e9fa 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -793,6 +793,7 @@ static void alua_rtpg_work(struct work_struct *work)
WARN_ON(pg->flags & ALUA_PG_RUN_RTPG);
WARN_ON(pg->flags & ALUA_PG_RUN_STPG);
spin_unlock_irqrestore(&pg->lock, flags);
+ kref_put(&pg->kref, release_port_group);
return;
}
if (pg->flags & ALUA_SYNC_STPG)
@@ -890,6 +891,7 @@ static void alua_rtpg_queue(struct alua_port_group *pg,
/* Do not queue if the worker is already running */
if (!(pg->flags & ALUA_PG_RUNNING)) {
kref_get(&pg->kref);
+ sdev = NULL;
start_queue = 1;
}
}
@@ -901,7 +903,8 @@ static void alua_rtpg_queue(struct alua_port_group *pg,
if (start_queue &&
!queue_delayed_work(alua_wq, &pg->rtpg_work,
msecs_to_jiffies(ALUA_RTPG_DELAY_MSECS))) {
- scsi_device_put(sdev);
+ if (sdev)
+ scsi_device_put(sdev);
kref_put(&pg->kref, release_port_group);
}
}