scsi: don't add scsi command result bytes
[sfrench/cifs-2.6.git] / drivers / scsi / mesh.c
index 1753e42826dd99bf7d69e1ea83f54a9b5ba34309..82e01dbe90af46daab1eff0f901d92a0026b0c08 100644 (file)
@@ -594,9 +594,9 @@ static void mesh_done(struct mesh_state *ms, int start_next)
        ms->current_req = NULL;
        tp->current_req = NULL;
        if (cmd) {
-               cmd->result = (ms->stat << 16) + cmd->SCp.Status;
+               cmd->result = (ms->stat << 16) | cmd->SCp.Status;
                if (ms->stat == DID_OK)
-                       cmd->result += (cmd->SCp.Message << 8);
+                       cmd->result |= cmd->SCp.Message << 8;
                if (DEBUG_TARGET(cmd)) {
                        printk(KERN_DEBUG "mesh_done: result = %x, data_ptr=%d, buflen=%d\n",
                               cmd->result, ms->data_ptr, scsi_bufflen(cmd));