__be16 buffer;
        int rc, val;
 
-       if (1 != (rc = i2c_master_send(c, &addr, 1)))
+       rc = i2c_master_send(c, &addr, 1);
+       if (rc != 1)
                v4l2_dbg(0, debug, sd,
                         "i2c i/o error: rc == %d (should be 1)\n", rc);
 
        msleep(10);
 
-       if (2 != (rc = i2c_master_recv(c, (char *)&buffer, 2)))
+       rc = i2c_master_recv(c, (char *)&buffer, 2);
+       if (rc != 2)
                v4l2_dbg(0, debug, sd,
-                        "i2c i/o error: rc == %d (should be 1)\n", rc);
+                        "i2c i/o error: rc == %d (should be 2)\n", rc);
 
        val = be16_to_cpu(buffer);
 
 
        v4l2_dbg(2, debug, sd,
                 "mt9v011: writing 0x%02x 0x%04x\n", buffer[0], value);
-       if (3 != (rc = i2c_master_send(c, buffer, 3)))
+       rc = i2c_master_send(c, &buffer, 3);
+       if (rc != 3)
                v4l2_dbg(0, debug, sd,
                         "i2c i/o error: rc == %d (should be 3)\n", rc);
 }