> In SCSI there are conditions when a command, including FLUSH
> (SYNC_CACHE), failed which don't imply lost data. For them the caller
> expected to retry the failed command. Most common cases are Unit
> Attentions and TASK QUEUE FULL status.
ATA expects the command to be retried as well because a failed flush
indicates the specific sector is lost (unless the host still has a copy
of course - which is *very* likely although we don't use it) but the rest
of the flush transaction can be retried to continue to flush sectors
beyond the failed one.
Alan