[SCSI] sym2: Mask off opcode from RBC
authorMatthew Wilcox <matthew@wil.cx>
Sun, 12 Feb 2006 16:28:19 +0000 (09:28 -0700)
committer <jejb@mulgrave.il.steeleye.com> <>
Sun, 12 Feb 2006 17:13:09 +0000 (11:13 -0600)
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>
drivers/scsi/sym53c8xx_2/sym_hipd.c

index 8260f04..f4854c3 100644 (file)
@@ -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;
        }
 
        /*