|
@@ -2438,7 +2438,8 @@ scsi_internal_device_unblock(struct scsi_device *sdev)
|
|
sdev->sdev_state = SDEV_RUNNING;
|
|
sdev->sdev_state = SDEV_RUNNING;
|
|
else if (sdev->sdev_state == SDEV_CREATED_BLOCK)
|
|
else if (sdev->sdev_state == SDEV_CREATED_BLOCK)
|
|
sdev->sdev_state = SDEV_CREATED;
|
|
sdev->sdev_state = SDEV_CREATED;
|
|
- else
|
|
|
|
|
|
+ else if (sdev->sdev_state != SDEV_CANCEL &&
|
|
|
|
+ sdev->sdev_state != SDEV_OFFLINE)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
spin_lock_irqsave(q->queue_lock, flags);
|
|
spin_lock_irqsave(q->queue_lock, flags);
|