@@ -927,6 +927,11 @@ blk_init_queue_node(request_fn_proc *rfn, spinlock_t *lock, int node_id)
return NULL;
}
+ /*
+ * by default assume old behaviour and bounce for any highmem page
+ */
+ blk_queue_bounce_limit(q, BLK_BOUNCE_HIGH);
+
return q;
}
EXPORT_SYMBOL(blk_init_queue_node);
@@ -954,11 +959,6 @@ int blk_init_allocated_queue(struct request_queue *q)
*/
blk_queue_make_request(q, blk_queue_bio);
- /*
- * by default assume old behaviour and bounce for any highmem page
- */
- blk_queue_bounce_limit(q, BLK_BOUNCE_HIGH);
-
q->sg_reserved_size = INT_MAX;
/* Protect q->elevator from elevator_change */
@@ -249,6 +249,11 @@ static int sas_bsg_initialize(struct Scsi_Host *shost, struct sas_rphy *rphy)
if (error)
goto out_cleanup_queue;
+ /*
+ * by default assume old behaviour and bounce for any highmem page
+ */
+ blk_queue_bounce_limit(q, BLK_BOUNCE_HIGH);
+
error = bsg_register_queue(q, dev, name, release);
if (error)
goto out_cleanup_queue;
And just move it into scsi_transport_sas which needs it due to low-level drivers directly derferencing bio_data, and into blk_init_queue_node, which will need a further push into the callers. Signed-off-by: Christoph Hellwig <hch@lst.de> --- block/blk-core.c | 10 +++++----- drivers/scsi/scsi_transport_sas.c | 5 +++++ 2 files changed, 10 insertions(+), 5 deletions(-)