Merge tag 'drm-misc-next-2023-03-23' of git://anongit.freedesktop.org/drm/drm-misc...
[linux-2.6-microblaze.git] / block / blk-mq.c
index d3494a7..d0cb2ef 100644 (file)
@@ -3000,6 +3000,7 @@ blk_status_t blk_insert_cloned_request(struct request *rq)
 {
        struct request_queue *q = rq->q;
        unsigned int max_sectors = blk_queue_get_max_sectors(q, req_op(rq));
+       unsigned int max_segments = blk_rq_get_max_segments(rq);
        blk_status_t ret;
 
        if (blk_rq_sectors(rq) > max_sectors) {
@@ -3026,9 +3027,9 @@ blk_status_t blk_insert_cloned_request(struct request *rq)
         * original queue.
         */
        rq->nr_phys_segments = blk_recalc_rq_segments(rq);
-       if (rq->nr_phys_segments > queue_max_segments(q)) {
-               printk(KERN_ERR "%s: over max segments limit. (%hu > %hu)\n",
-                       __func__, rq->nr_phys_segments, queue_max_segments(q));
+       if (rq->nr_phys_segments > max_segments) {
+               printk(KERN_ERR "%s: over max segments limit. (%u > %u)\n",
+                       __func__, rq->nr_phys_segments, max_segments);
                return BLK_STS_IOERR;
        }