diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 01cefbb..6b927f6 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -1787,8 +1787,13 @@ static int sd_start_stop_device(struct scsi_disk *sdkp, int start) struct scsi_device *sdp = sdkp->device; int res; - if (start) + if (start) { cmd[4] |= 1; /* START */ + /* active power condition */ + cmd[4] |= (sdp->type == TYPE_RBC) ? (1 << 4) : 0; + } else + /* standby power condition */ + cmd[4] |= (sdp->type == TYPE_RBC) ? (3 << 4) : 0 ; if (!scsi_device_online(sdp)) return -ENODEV;