diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 3cea17d..4d7dbd6 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -1788,8 +1788,16 @@ 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 */ + if(!strncmp(sdp->vendor, "WDC WD32", 8)) { + cmd[4] |= (1 << 4); /* power condition */ + } + } else { + if(!strncmp(sdp->vendor, "WDC WD32", 8)) { + cmd[4] |= (2 << 4); /* power condition */ + } + } if (!scsi_device_online(sdp)) return -ENODEV;