Browse Source

[SCSI] aic7xxx: Test opcode, not definition in aicasm:type_check()

This fixes a bug that we treat all sequencer operations as ands and
never do the additional invalid bit checks non-and operations require
because the if () to determine this has an operand which is always
true at the end of the or statement.

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Acked-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Roel Kluin 17 years ago
parent
commit
0b6c4b14cf
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/scsi/aic7xxx/aicasm/aicasm_gram.y

+ 1 - 1
drivers/scsi/aic7xxx/aicasm/aicasm_gram.y

@@ -1837,7 +1837,7 @@ type_check(symbol_t *symbol, expression_t *expression, int opcode)
 	int and_op;
 
 	and_op = FALSE;
-	if (opcode == AIC_OP_AND || opcode == AIC_OP_JNZ || AIC_OP_JZ)
+	if (opcode == AIC_OP_AND || opcode == AIC_OP_JNZ || opcode == AIC_OP_JZ)
 		and_op = TRUE;
 
 	/*