Updated to 2.6.32.27
/drivers/scsi/scsi_sysfs.c
blob:392d8db33905cbe31f1e2f96644552d9b692eb27 -> blob:ad136c2be5016d7bdd09387612c835d4edd10256
--- drivers/scsi/scsi_sysfs.c
+++ drivers/scsi/scsi_sysfs.c
@@ -954,10 +954,11 @@ static void __scsi_remove_target(struct
list_for_each_entry(sdev, &shost->__devices, siblings) {
if (sdev->channel != starget->channel ||
sdev->id != starget->id ||
- sdev->sdev_state == SDEV_DEL)
+ scsi_device_get(sdev))
continue;
spin_unlock_irqrestore(shost->host_lock, flags);
scsi_remove_device(sdev);
+ scsi_device_put(sdev);
spin_lock_irqsave(shost->host_lock, flags);
goto restart;
}