aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMatthew Wilcox <matthew@wil.cx>2006-02-12 09:28:19 -0700
committer <jejb@mulgrave.il.steeleye.com>2006-02-12 11:13:09 -0600
commite2230eac17486e2ee07091d54d898eb40bcd0fdd (patch)
treead0a561db979d344239dde2ce7632345cdb8f870 /drivers
parent[SCSI] zfcp: fix: avoid race between fc_remote_port_add and scsi_add_device (diff)
downloadlinux-dev-e2230eac17486e2ee07091d54d898eb40bcd0fdd.tar.xz
linux-dev-e2230eac17486e2ee07091d54d898eb40bcd0fdd.zip
[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')
-rw-r--r--drivers/scsi/sym53c8xx_2/sym_hipd.c2
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 8260f040d39c..f4854c33f48d 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;
}
/*