diff options
author | Matthew Wilcox <matthew@wil.cx> | 2006-02-12 09:28:19 -0700 |
---|---|---|
committer | <jejb@mulgrave.il.steeleye.com> | 2006-02-12 11:13:09 -0600 |
commit | e2230eac17486e2ee07091d54d898eb40bcd0fdd (patch) | |
tree | ad0a561db979d344239dde2ce7632345cdb8f870 /drivers/scsi/sym53c8xx_2 | |
parent | 61c41823c50302ca6cd455c48a1395f944c61f8f (diff) |
[SCSI] sym2: Mask off opcode from RBC
pm->sg.size is set from the Residual Byte Count register. However,
the upper byte of the RBC is the opcode of the instruction that was
executing, so we need to mask it off. This fixes some spurious rejects
of IGNORE WIDE RESIDUE messages.
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/sym53c8xx_2')
-rw-r--r-- | drivers/scsi/sym53c8xx_2/sym_hipd.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/sym53c8xx_2/sym_hipd.c b/drivers/scsi/sym53c8xx_2/sym_hipd.c index 8260f040d39..f4854c33f48 100644 --- a/drivers/scsi/sym53c8xx_2/sym_hipd.c +++ b/drivers/scsi/sym53c8xx_2/sym_hipd.c @@ -3588,7 +3588,7 @@ static int sym_evaluate_dp(struct sym_hcb *np, struct sym_ccb *cp, u32 scr, int if (pm) { dp_scr = scr_to_cpu(pm->ret); - dp_ofs -= scr_to_cpu(pm->sg.size); + dp_ofs -= scr_to_cpu(pm->sg.size) & 0x00ffffff; } /* |