> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index > bca3a92eb55f..9c57b49a4132 100644 > --- a/include/linux/blkdev.h > +++ b/include/linux/blkdev.h > @@ -1118,8 +1118,8 @@ static inline unsigned int blk_max_size_offset(struct > request_queue *q, > if (!q->limits.chunk_sectors) > return q->limits.max_sectors; > > - return q->limits.chunk_sectors - > - (offset & (q->limits.chunk_sectors - 1)); > + return min(q->limits.max_sectors, (unsigned int)(q->limits.chunk_sectors > - > + (offset & (q->limits.chunk_sectors - 1)))); > } > > static inline unsigned int blk_rq_get_max_sectors(struct request *rq, > -- Sorry for the delayed response. This patch works fine too. Please submit it. Regards, JB