X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=drivers%2Fata%2Flibata-core.c;h=8a0ccb190d767021d2d2a8db6071eda220789815;hb=0ecca62beb12eeb13965ed602905c8bf53ac93d0;hp=3018ca84a3d8ca94048a4eba97b2f00815273385;hpb=ca2ef2d9f2aad7a28d346522bb4c473a0aa05249;p=linux-2.6-microblaze.git diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 3018ca84a3d8..8a0ccb190d76 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -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; }