Revert "libata: check SATA_SETTINGS log with HW Feature Ctrl"
This reverts commit de90cd71f68e947d3bd6c3f2ef5731ead010a768.
Shane Huang writes:
Please suspend this patch because I just received two new
DevSlp drives but found word 78 bit 5 is _not_ set.
I'm checking with the drive vendor whether he gave me
the wrong information. If bit 5 is not the necessary and
sufficient condition, I will implement another patch to
replace ata_device->sata_settings into ->devslp_timing.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 47d5961..9e8b99a 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2331,8 +2331,9 @@
/* Obtain SATA Settings page from Identify Device Data Log,
* which contains DevSlp timing variables etc.
+ * Exclude old devices with ata_id_has_ncq()
*/
- if (ata_id_has_hw_feature_ctrl(dev->id)) {
+ if (ata_id_has_ncq(dev->id)) {
err_mask = ata_read_log_page(dev,
ATA_LOG_SATA_ID_DEV_DATA,
ATA_LOG_SATA_SETTINGS,
diff --git a/include/linux/ata.h b/include/linux/ata.h
index 18cbb93..408da95 100644
--- a/include/linux/ata.h
+++ b/include/linux/ata.h
@@ -593,7 +593,6 @@
#define ata_id_cdb_intr(id) (((id)[ATA_ID_CONFIG] & 0x60) == 0x20)
#define ata_id_has_da(id) ((id)[ATA_ID_SATA_CAPABILITY_2] & (1 << 4))
#define ata_id_has_devslp(id) ((id)[ATA_ID_FEATURE_SUPP] & (1 << 8))
-#define ata_id_has_hw_feature_ctrl(id) ((id)[ATA_ID_FEATURE_SUPP] & (1 << 5))
static inline bool ata_id_has_hipm(const u16 *id)
{