Merge tag 'ceph-for-5.16-rc1' of git://github.com/ceph/ceph-client
[linux-2.6-microblaze.git] / drivers / ata / libata-core.c
index 3018ca8..8a0ccb1 100644 (file)
@@ -2052,8 +2052,19 @@ static bool ata_identify_page_supported(struct ata_device *dev, u8 page)
        struct ata_port *ap = dev->link->ap;
        unsigned int err, i;
 
+       if (dev->horkage & ATA_HORKAGE_NO_ID_DEV_LOG)
+               return false;
+
        if (!ata_log_supported(dev, ATA_LOG_IDENTIFY_DEVICE)) {
-               ata_dev_warn(dev, "ATA Identify Device Log not supported\n");
+               /*
+                * IDENTIFY DEVICE data log is defined as mandatory starting
+                * with ACS-3 (ATA version 10). Warn about the missing log
+                * for drives which implement this ATA level or above.
+                */
+               if (ata_id_major_version(dev->id) >= 10)
+                       ata_dev_warn(dev,
+                               "ATA Identify Device Log not supported\n");
+               dev->horkage |= ATA_HORKAGE_NO_ID_DEV_LOG;
                return false;
        }