libata: don't request sense data on !ZAC ATA devices
authorTejun Heo <tj@kernel.org>
Mon, 24 Jun 2019 16:32:50 +0000 (09:32 -0700)
committerJens Axboe <axboe@kernel.dk>
Tue, 25 Jun 2019 15:22:45 +0000 (09:22 -0600)
commitca156e006add67e4beea7896be395160735e09b0
tree5f9eda53f039bad990403087f1daa15f529e94f0
parent9e0babf2c06c73cda2c0cd37a1653d823adb40ec
libata: don't request sense data on !ZAC ATA devices

ZAC support added sense data requesting on error for both ZAC and ATA
devices. This seems to cause erratic error handling behaviors on some
SSDs where the device reports sense data availability and then
delivers the wrong content making EH take the wrong actions.  The
failure mode was sporadic on a LITE-ON ssd and couldn't be reliably
reproduced.

There is no value in requesting sense data from non-ZAC ATA devices
while there's a significant risk of introducing EH misbehaviors which
are difficult to reproduce and fix.  Let's do the sense data dancing
only for ZAC devices.

Reviewed-by: Hannes Reinecke <hare@suse.com>
Tested-by: Masato Suzuki <masato.suzuki@wdc.com>
Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/ata/libata-eh.c