--- linux-2.6.5-rc3/drivers/scsi/scsi_lib.c 2004-03-29 19:26:15.000000000 -0800 +++ linux-2.6.5-rc3-work/drivers/scsi/scsi_lib.c 2004-03-31 23:23:20.051292415 -0800 @@ -524,10 +524,10 @@ static struct scsi_cmnd *scsi_end_reques * to queue the remainder of them. */ if (end_that_request_chunk(req, uptodate, bytes)) { - int leftover = (req->hard_nr_sectors << 9) - bytes; + int leftover = req->hard_nr_sectors << 9; if (blk_pc_request(req)) - leftover = req->data_len - bytes; + leftover = req->data_len; /* kill remainder if no retrys */ if (!uptodate && blk_noretry_request(req))