summaryrefslogtreecommitdiff
path: root/drivers/ata/libata-core.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2017-08-28 08:28:08 +0200
committerTejun Heo <tj@kernel.org>2017-08-28 10:27:16 -0700
commit35f0b6a779b8b7a98faefd7c1c660b4dac9a5c26 (patch)
tree1d7c8fd781d17b75a0b9d451ad36dce24a71464b /drivers/ata/libata-core.c
parentc88c094985ad38c6f71ab5b0d3d68757db14c8b2 (diff)
libata: quirk read log on no-name M.2 SSD
Ido reported that reading the log page on his systems fails, so quirk it as it won't support ZBC or security protocols. Signed-off-by: Christoph Hellwig <hch@lst.de> Reported-by: Ido Schimmel <idosch@mellanox.com> Tested-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/ata/libata-core.c')
-rw-r--r--drivers/ata/libata-core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index fa7dd4394c02..697f5f896b19 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2079,6 +2079,8 @@ unsigned int ata_read_log_page(struct ata_device *dev, u8 log,
*/
if (ap_flags & ATA_FLAG_NO_LOG_PAGE)
return AC_ERR_DEV;
+ if (dev->horkage & ATA_HORKAGE_NO_LOG_PAGE)
+ return AC_ERR_DEV;
retry:
ata_tf_init(dev, &tf);
@@ -4578,6 +4580,8 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
{ "WDC WD3000JD-*", NULL, ATA_HORKAGE_WD_BROKEN_LPM },
{ "WDC WD3200JD-*", NULL, ATA_HORKAGE_WD_BROKEN_LPM },
+
+ { "M.2 (S42) 3ME3", NULL, ATA_HORKAGE_NO_LOG_PAGE },
/* End Marker */
{ }
};