@@ -3634,7 +3634,7 @@ static int ata_mselect_caching(struct ata_queued_cmd *qc,
/* Check the first byte */
if (i == 0) {
/* except the WCE bit */
- if (mpage[i + 2] & 0xfb != buf[i] & 0xfb) {
+ if ((mpage[i + 2] & 0xfb) != (buf[i] & 0xfb)) {
*fp = i;
return -EINVAL;
} else {
@@ -3699,7 +3699,7 @@ static int ata_mselect_control(struct ata_queued_cmd *qc,
/* Check the first byte */
if (i == 0) {
/* except the D_SENSE bit */
- if (mpage[i + 2] & 0xfb != buf[i] & 0xfb) {
+ if ((mpage[i + 2] & 0xfb) != (buf[i] & 0xfb)) {
*fp = i;
return -EINVAL;
} else {
gcc-6.1 warns about possibly ambiguous code that was newly added to libata: drivers/ata/libata-scsi.c: In function 'ata_mselect_caching': drivers/ata/libata-scsi.c:3637:28: error: suggest parentheses around comparison in operand of '&' [-Werror=parentheses] drivers/ata/libata-scsi.c: In function 'ata_mselect_control': drivers/ata/libata-scsi.c:3702:28: error: suggest parentheses around comparison in operand of '&' [-Werror=parentheses] The code is fine, and it's not really ambigous to human readers, but let's shut up the warning anyway by adding the parentheses that gcc suggests. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: 9b7844a8c34a ("libata-scsi: fix read-only bits checking in ata_mselect_*()") --- drivers/ata/libata-scsi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.9.0