diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 0b10450c442f..22025a5818dd 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -3123,11 +3123,9 @@ static int sd_revalidate_disk(struct gendisk *disk) if (sd_validate_opt_xfer_size(sdkp, dev_max)) rw_max = q->limits.io_opt = sdkp->opt_xfer_blocks * sdp->sector_size; - } else { - q->limits.io_opt = 0; + else rw_max = min_not_zero(logical_to_sectors(sdp, dev_max), (sector_t)BLK_DEF_MAX_SECTORS); - } /* Do not exceed controller limit */ rw_max = min(rw_max, queue_max_hw_sectors(q));