diff options
author | Tom Yan <tom.ty89@gmail.com> | 2016-07-13 02:54:11 +0800 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2016-07-12 14:58:43 -0400 |
commit | c9cd3504eb03755db8e64f894ccd4ebee59734b7 (patch) | |
tree | df5ffe7888aea54df268715f3b3e613e874d8d74 /drivers/ata | |
parent | a548cc00cf7b0cb3c5b311e0129453f280faed94 (diff) | |
download | linux-c9cd3504eb03755db8e64f894ccd4ebee59734b7.tar.bz2 |
libata-scsi: fix D_SENSE bit relection in control mode page
The bit should always be set to 1 when the requested version of
page is "changeable" because we've made it so in ata_mselect_control().
Also, it should always be set to 1 if ATA_DFLAG_D_SENSE is set (when
the requested version of page is "current" or "default").
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-scsi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index f6888fca4b5f..9c7c9f28ac23 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -2451,7 +2451,7 @@ static unsigned int ata_msense_ctl_mode(struct ata_device *dev, u8 *buf, bool changeable) { modecpy(buf, def_control_mpage, sizeof(def_control_mpage), changeable); - if (changeable && (dev->flags & ATA_DFLAG_D_SENSE)) + if (changeable || (dev->flags & ATA_DFLAG_D_SENSE)) buf[2] |= (1 << 2); /* Descriptor sense requested */ return sizeof(def_control_mpage); } |