diff options
author | Hannes Reinecke <hare@suse.de> | 2016-07-14 09:05:46 +0900 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2016-07-14 10:47:20 -0400 |
commit | bd18bc04caeff361a4fff477224fa5b5fe5ce603 (patch) | |
tree | 544e3179262a8134b93726bd84597e9c02118d41 /drivers/ata/libata-core.c | |
parent | b38d4d85b89c68b2748a5e225185073424510486 (diff) | |
download | talos-op-linux-bd18bc04caeff361a4fff477224fa5b5fe5ce603.tar.gz talos-op-linux-bd18bc04caeff361a4fff477224fa5b5fe5ce603.zip |
ata: fixup ATA_PROT_NODATA
The taskfile protocol is a numeric value, and can not be ORed. Currently
this is harmless as the protocol is always zeroed before, but if it ever
has a non-zero value the ORing would create incorrect results.
Signed-off-by: Hannes Reinecke <hare@suse.de>
[hch: updated patch description]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'drivers/ata/libata-core.c')
-rw-r--r-- | drivers/ata/libata-core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index f5eb07e06a2a..522848a6c43a 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -1238,7 +1238,7 @@ static int ata_read_native_max_address(struct ata_device *dev, u64 *max_sectors) } else tf.command = ATA_CMD_READ_NATIVE_MAX; - tf.protocol |= ATA_PROT_NODATA; + tf.protocol = ATA_PROT_NODATA; tf.device |= ATA_LBA; err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0, 0); @@ -1297,7 +1297,7 @@ static int ata_set_max_sectors(struct ata_device *dev, u64 new_sectors) tf.device |= (new_sectors >> 24) & 0xf; } - tf.protocol |= ATA_PROT_NODATA; + tf.protocol = ATA_PROT_NODATA; tf.device |= ATA_LBA; tf.lbal = (new_sectors >> 0) & 0xff; |