diff options
author | Damien Le Moal <dlemoal@kernel.org> | 2025-04-14 10:25:05 +0900 |
---|---|---|
committer | Damien Le Moal <dlemoal@kernel.org> | 2025-04-22 16:06:05 +0900 |
commit | 17e897a456752ec9c2d7afb3d9baf268b442451b (patch) | |
tree | 9060da415296a0ac44c41257be5dae8a235ba101 /lib/zstd/compress/zstd_lazy.c | |
parent | 88474ad734fb2000805c63e01cc53ea930adf2c7 (diff) | |
download | linux-17e897a456752ec9c2d7afb3d9baf268b442451b.tar.gz linux-17e897a456752ec9c2d7afb3d9baf268b442451b.tar.bz2 linux-17e897a456752ec9c2d7afb3d9baf268b442451b.zip |
ata: libata-scsi: Improve CDL control
With ATA devices supporting the CDL feature, using CDL requires that the
feature be enabled with a SET FEATURES command. This command is issued
as the translated command for the MODE SELECT command issued by
scsi_cdl_enable() when the user enables CDL through the device
cdl_enable sysfs attribute.
Currently, ata_mselect_control_ata_feature() always translates a MODE
SELECT command for the ATA features subpage of the control mode page to
a SET FEATURES command to enable or disable CDL based on the cdl_ctrl
field. However, there is no need to issue the SET FEATURES command if:
1) The MODE SELECT command requests disabling CDL and CDL is already
disabled.
2) The MODE SELECT command requests enabling CDL and CDL is already
enabled.
Fix ata_mselect_control_ata_feature() to issue the SET FEATURES command
only when necessary. Since enabling CDL also implies a reset of the CDL
statistics log page, avoiding useless CDL enable operations also avoids
clearing the CDL statistics log.
Also add debug messages to clearly signal when CDL is being enabled or
disabled using a SET FEATURES command.
Fixes: df60f9c64576 ("scsi: ata: libata: Add ATA feature control sub-page translation")
Cc: stable@vger.kernel.org
Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Igor Pylypiv <ipylypiv@google.com>
Diffstat (limited to 'lib/zstd/compress/zstd_lazy.c')
0 files changed, 0 insertions, 0 deletions