Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 35f0b6a7 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Tejun Heo
Browse files

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: default avatarChristoph Hellwig <hch@lst.de>
Reported-by: default avatarIdo Schimmel <idosch@mellanox.com>
Tested-by: default avatarIdo Schimmel <idosch@mellanox.com>
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent c88c0949
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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 */
	{ }
};
+1 −0
Original line number Diff line number Diff line
@@ -438,6 +438,7 @@ enum {
	ATA_HORKAGE_NO_DMA_LOG	= (1 << 23),	/* don't use DMA for log read */
	ATA_HORKAGE_NOTRIM	= (1 << 24),	/* don't use TRIM */
	ATA_HORKAGE_MAX_SEC_1024 = (1 << 25),	/* Limit max sects to 1024 */
	ATA_HORKAGE_NO_LOG_PAGE = (1 << 26),	/* Doesn't like Get Log Page */

	 /* DMA mask for user DMA control: User visible values; DO NOT
	    renumber */