I was going over the scsi I/O submit path, when sd_init_command construct the scsi command, this_count is already checked in the previous else if clause. Why does it need to check it again in the last else block? Patch to delete the spurious check. Signed-off-by: Ken Chen <kenneth.w.chen@xxxxxxxxx> --- linux-2.6.12/drivers/scsi/sd.c.orig 2005-07-12 15:48:57.545822227 -0700 +++ linux-2.6.12/drivers/scsi/sd.c 2005-07-12 15:51:37.109296835 -0700 @@ -373,9 +373,6 @@ static int sd_init_command(struct scsi_c SCpnt->cmnd[7] = (unsigned char) (this_count >> 8) & 0xff; SCpnt->cmnd[8] = (unsigned char) this_count & 0xff; } else { - if (this_count > 0xff) - this_count = 0xff; - SCpnt->cmnd[1] |= (unsigned char) ((block >> 16) & 0x1f); SCpnt->cmnd[2] = (unsigned char) ((block >> 8) & 0xff); SCpnt->cmnd[3] = (unsigned char) block & 0xff; - : 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