scsi_target_unblock() must unblock SCSI devices even if this function
is called after unloading of the LLD that created these devices has
started. This is necessary to prevent that __scsi_remove_device() hangs
on the SYNCHRONIZE CACHE command issued by the sd driver during shutdown.

Bart Van Assche (3):
  __scsi_iterate_devices(): Make the get and put functions arguments
  Introduce starget_for_all_devices() and shost_for_all_devices()
  Ensure that scsi_target_unblock() examines all devices

 drivers/scsi/scsi.c        | 60 +++++++++++++++++++++++++++++++++++++++++-----
 drivers/scsi/scsi_lib.c    | 22 ++++++++++++++---
 include/scsi/scsi_device.h | 29 ++++++++++++++++++----
 3 files changed, 97 insertions(+), 14 deletions(-)

-- 
2.12.0

Reply via email to