]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ata: libata-core: Allow command duration limits detection for ACS-4 drives
authorIgor Pylypiv <ipylypiv@google.com>
Thu, 11 Apr 2024 20:12:24 +0000 (20:12 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Apr 2024 09:19:25 +0000 (11:19 +0200)
commit c0297e7dd50795d559f3534887a6de1756b35d0f upstream.

Even though the command duration limits (CDL) feature was first added
in ACS-5 (major version 12), there are some ACS-4 (major version 11)
drives that implement CDL as well.

IDENTIFY_DEVICE, SUPPORTED_CAPABILITIES, and CURRENT_SETTINGS log pages
are mandatory in the ACS-4 standard so it should be safe to read these
log pages on older drives implementing the ACS-4 standard.

Fixes: 62e4a60e0cdb ("scsi: ata: libata: Detect support for command duration limits")
Cc: stable@vger.kernel.org
Signed-off-by: Igor Pylypiv <ipylypiv@google.com>
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/ata/libata-core.c

index f12beeb96629d0264d1dfc3aa5c4261925754fb8..a492f23faa877ac7ef5a20dc0c4f7da8b2726db1 100644 (file)
@@ -2493,7 +2493,7 @@ static void ata_dev_config_cdl(struct ata_device *dev)
        bool cdl_enabled;
        u64 val;
 
-       if (ata_id_major_version(dev->id) < 12)
+       if (ata_id_major_version(dev->id) < 11)
                goto not_supported;
 
        if (!ata_log_supported(dev, ATA_LOG_IDENTIFY_DEVICE) ||