From 8349e5aeaadd160b7cce554a62a05be4b2d894aa Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Fri, 14 Dec 2012 09:34:01 -0500 Subject: 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 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 @@ int ata_dev_configure(struct ata_device *dev) /* 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 @@ static inline int ata_is_data(u8 prot) #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) { -- cgit v0.10.2