Hello all, I've got an application that depends on the residual data information in order to send it to another application. The basic problem is that if a single SCSI transfer size is greater than a single scatter gather region (generally ~32k), then the residual length is based on the size of the scatter gather regions and not the request size. When the two differ, and there is a residual data condition the application computes the transfer size incorrectly. The attached patch is against the sym53c8xx.c driver in the 2.4 tree, I haven't tested the 2.6 sym53c8xx_2 driver, but a quick glance at the code seems to indicate it has the same problem. When I get a chance, I will test the 2.6 driver as well, for the same problem. The patch basically saves the original request length into a new member in the ccb structure called orig_data_len. Then, when the residual len is being computed, it adjusts it for the original data request size. BTW: We are using the old sym53c8xx driver instead of the new one, because it passes more of our validation tests in 2.4 than the sym53c8xx_2 driver does. Our tests use the sg interface exclusively, so I'm not sure about behavior with other drivers (st,sd).