On 08/09/2016 10:12 AM, Laurence Oberman wrote:
I was talking about this patch
--- a/drivers/scsi/scsi_scan.c
+++ b/drivers/scsi/scsi_scan.c
@@ -1890,10 +1890,11 @@ void scsi_forget_host(struct Scsi_Host *shost)
restart:
spin_lock_irqsave(shost->host_lock, flags);
list_for_each_entry(sdev, &shost->__devices, siblings) {
- if (sdev->sdev_state == SDEV_DEL)
+ if (sdev->sdev_state == SDEV_DEL || scsi_device_get(sdev) < 0)
continue;
spin_unlock_irqrestore(shost->host_lock, flags);
__scsi_remove_device(sdev);
+ scsi_device_put(sdev);
goto restart;
}
spin_unlock_irqrestore(shost->host_lock, flags);
Hello Laurence,
Did you run your tests with that patch applied? If so, it would help if
you could rerun your tests without that patch. If the above patch makes
a difference it means that it can happen that __scsi_remove_device()
does not change the device state into SDEV_DEL. That's a bug and we need
to know whether or not __scsi_remove_device() behaves correctly.
Thanks,
Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html