From: Boaz Harrosh if (rq_data_dir() == WRITE) else if() else chain had an extra "else" since the if() is on a value of 1 bit. Also with a bidi request, rq_data_dir() == WRITE and blk_bidi_rq() == true. Signed-off-by: Boaz Harrosh Signed-off-by: Andrew Morton --- drivers/scsi/sd.c | 5 +---- drivers/scsi/sr.c | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff -puN drivers/scsi/sd.c~bidi-support-sr-sd-remove-dead-code drivers/scsi/sd.c --- a/drivers/scsi/sd.c~bidi-support-sr-sd-remove-dead-code +++ a/drivers/scsi/sd.c @@ -445,12 +445,9 @@ static int sd_prep_fn(struct request_que } SCpnt->cmnd[0] = WRITE_6; SCpnt->sc_data_direction = DMA_TO_DEVICE; - } else if (rq_data_dir(rq) == READ) { + } else { SCpnt->cmnd[0] = READ_6; SCpnt->sc_data_direction = DMA_FROM_DEVICE; - } else { - scmd_printk(KERN_ERR, SCpnt, "Unknown command %x\n", rq->cmd_flags); - goto out; } SCSI_LOG_HLQUEUE(2, scmd_printk(KERN_INFO, SCpnt, diff -puN drivers/scsi/sr.c~bidi-support-sr-sd-remove-dead-code drivers/scsi/sr.c --- a/drivers/scsi/sr.c~bidi-support-sr-sd-remove-dead-code +++ a/drivers/scsi/sr.c @@ -368,12 +368,9 @@ static int sr_prep_fn(struct request_que SCpnt->cmnd[0] = WRITE_10; SCpnt->sc_data_direction = DMA_TO_DEVICE; cd->cdi.media_written = 1; - } else if (rq_data_dir(rq) == READ) { + } else { SCpnt->cmnd[0] = READ_10; SCpnt->sc_data_direction = DMA_FROM_DEVICE; - } else { - blk_dump_rq_flags(rq, "Unknown sr command"); - goto out; } { _