aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoel Kluin <12o3l@tiscali.nl>2008-01-28 08:09:54 -0500
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-04-07 13:18:59 -0400
commit0b6c4b14cfb2fd89064d29bdead62f9ed8631399 (patch)
tree8a9b8e9ecf74f0af991946f189827a0a6a1701ff
parent639db475c8bb77f915f79f567ee98ac673d6edf3 (diff)
[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>
-rw-r--r--drivers/scsi/aic7xxx/aicasm/aicasm_gram.y2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/aic7xxx/aicasm/aicasm_gram.y b/drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
index 6066998ed562..702e2dbd11fb 100644
--- a/drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
+++ b/drivers/scsi/aic7xxx/aicasm/aicasm_gram.y
@@ -1837,7 +1837,7 @@ type_check(symbol_t *symbol, expression_t *expression, int opcode)
1837 int and_op; 1837 int and_op;
1838 1838
1839 and_op = FALSE; 1839 and_op = FALSE;
1840 if (opcode == AIC_OP_AND || opcode == AIC_OP_JNZ || AIC_OP_JZ) 1840 if (opcode == AIC_OP_AND || opcode == AIC_OP_JNZ || opcode == AIC_OP_JZ)
1841 and_op = TRUE; 1841 and_op = TRUE;
1842 1842
1843 /* 1843 /*