When building with W=1, we get these warnings:

drivers/ata/libata-scsi.c: In function 'ata_mselect_caching':
drivers/ata/libata-scsi.c:3637:28: warning: suggest parentheses around 
comparison in operand of '&' [-Wparentheses]
    if (mpage[i + 2] & 0xfb != buf[i] & 0xfb) {
                       ~~~~~^~~~~~~~~
drivers/ata/libata-scsi.c: In function 'ata_mselect_control':
drivers/ata/libata-scsi.c:3702:28: warning: suggest parentheses around 
comparison in operand of '&' [-Wparentheses]
    if (mpage[i + 2] & 0xfb != buf[i] & 0xfb) {
                       ~~~~~^~~~~~~~~

So give them the extra () and make things a bit clearer for both the
compiler and programmer...

Signed-off-by: Valdis Kletnieks <valdis.kletni...@vt.edu>

diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index fa9d16fe295c..8ad4b237f342 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -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 {


Reply via email to