scsi_device_online() is not just a negation of SDEV_OFFLINE, also devices in state SDEV_CANCEL and SDEV_DEL are actually offline. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> --- include/scsi/scsi_device.h | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index e96daf6..63b58d2 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h @@ -401,7 +401,9 @@ static inline unsigned int sdev_id(struct scsi_device *sdev) */ static inline int scsi_device_online(struct scsi_device *sdev) { - return sdev->sdev_state != SDEV_OFFLINE; + return (sdev->sdev_state != SDEV_OFFLINE && + sdev->sdev_state != SDEV_CANCEL && + sdev->sdev_state != SDEV_DEL); } static inline int scsi_device_blocked(struct scsi_device *sdev) { -- 1.5.3.2 -- 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