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@xxxxxx> [James, please apply to scsi-rc-fixes] Index: ./drivers/scsi/sym53c8xx_2/sym_hipd.c =================================================================== RCS file: /var/lib/cvs/linux-2.6/drivers/scsi/sym53c8xx_2/sym_hipd.c,v retrieving revision 1.79 retrieving revision 1.80 diff -u -p -r1.79 -r1.80 --- ./drivers/scsi/sym53c8xx_2/sym_hipd.c 12 Feb 2006 16:10:34 -0000 1.79 +++ ./drivers/scsi/sym53c8xx_2/sym_hipd.c 12 Feb 2006 16:17:03 -0000 1.80 @@ -3596,7 +3596,7 @@ static int sym_evaluate_dp(struct sym_hc 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; } /* - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html