diff options
author | Tom Yan <tom.ty89@gmail.com> | 2016-07-12 21:37:02 +0800 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2016-07-12 10:52:49 -0400 |
commit | 0c12735e8abf4734b011aec979092db5e63556b0 (patch) | |
tree | 897c3d5a9ac676ee834349e5bc411cb01679d969 /drivers/ata | |
parent | 56b8cbabb422366e89577c5862ce0aa79cada240 (diff) | |
download | linux-0c12735e8abf4734b011aec979092db5e63556b0.tar.gz linux-0c12735e8abf4734b011aec979092db5e63556b0.tar.bz2 linux-0c12735e8abf4734b011aec979092db5e63556b0.zip |
libata-scsi: fix SET FEATURES "filtering" for ata_msense_caching()
Without this fix, the DRA bit of the caching mode page would not
be updated when the read look-ahead feature is toggled (e.g. with
`smartctl --set`), but will only be until, for example, the write
cache feature is touched.
Signed-off-by: Tom Yan <tom.ty89@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/libata-core.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 6be7770f68e9..077daf0d2604 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -5127,7 +5127,9 @@ void ata_qc_complete(struct ata_queued_cmd *qc) switch (qc->tf.command) { case ATA_CMD_SET_FEATURES: if (qc->tf.feature != SETFEATURES_WC_ON && - qc->tf.feature != SETFEATURES_WC_OFF) + qc->tf.feature != SETFEATURES_WC_OFF && + qc->tf.feature != SETFEATURES_RA_ON && + qc->tf.feature != SETFEATURES_RA_OFF) break; /* fall through */ case ATA_CMD_INIT_DEV_PARAMS: /* CHS translation changed */ |