|
@@ -2956,7 +2956,8 @@ static int sd_revalidate_disk(struct gendisk *disk)
|
|
|
q->limits.io_opt = logical_to_bytes(sdp, sdkp->opt_xfer_blocks);
|
|
|
rw_max = logical_to_sectors(sdp, sdkp->opt_xfer_blocks);
|
|
|
} else
|
|
|
- rw_max = BLK_DEF_MAX_SECTORS;
|
|
|
+ rw_max = min_not_zero(logical_to_sectors(sdp, dev_max),
|
|
|
+ (sector_t)BLK_DEF_MAX_SECTORS);
|
|
|
|
|
|
/* Combine with controller limits */
|
|
|
q->limits.max_sectors = min(rw_max, queue_max_hw_sectors(q));
|