libata-eh set tf flags in NCQ EH result_tf
authorMark Lord <liml@rtr.ca>
Thu, 24 Apr 2008 02:36:25 +0000 (22:36 -0400)
committerJeff Garzik <jgarzik@redhat.com>
Fri, 25 Apr 2008 05:11:37 +0000 (01:11 -0400)
commita6116c9e60978a6deaa20691c67ffed727e50df1
tree39d51e37b3d953ae9573e7418293ba8696efa133
parent1dc55e876182a13dcc5991c3aab893f38455d8a7
libata-eh set tf flags in NCQ EH result_tf

Fix mis-reporting of NCQ errors by ensuring that result_tf->flags
is properly initialized in libata-eh.  This allows ata_gen_ata_sense()
to report the failed block number correctly to SCSI after a media error
during NCQ.

This patch may also be a candidate for backporting to earlier kernels.
Without this fix, SCSI will fail I/O on the entire request rather
than just the bad sector.  That can be bad for a request that was
merged from many independent read reads from different tasks.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-eh.c