Douglas Gilbert wrote:
I could have a go at the SCSI half of it. According to
SAT, START STOP UNIT should only be allowed for non-packet
ATA devices. I assume your SATAPI code will the bypass
libata-scsi.c SAT layer.
Mostly. There is still a few translation bits in there. 99% bypass,
not 100%.
SAT suggests libata should issue a ATA STANDBY (sector=0)
to "stop" the device. I can't see the STANDBY command (0xE2)
defined anywhere in libata or the ide subsystem (or their
headers).
I'm sure you're capable of adding an enum to linux/ata.h :)
The action to start the SATA device depends on the power
mode of the SATA device:
- SLEEP: send a hardware or software reset: that should
get it to ACTIVE or STANDBY mode
- STANDBY or IDLE: send a (READ) VERIFY (sector=0) ATA
to the command
- ACTIVE: I assume this would be a nop
The START STOP UNIT SCSI command also has an "IMMED"iate
bit. That could just be ignored initially.
Is half a patch any use?
Sure.
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html