diff options
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r-- | drivers/scsi/scsi_lib.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index c75cb6ad6d9..b6e6d801768 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -1645,7 +1645,10 @@ struct request_queue *__scsi_alloc_queue(struct Scsi_Host *shost, * converted, so better keep it safe. */ #ifdef ARCH_HAS_SG_CHAIN - blk_queue_max_phys_segments(q, SCSI_MAX_SG_CHAIN_SEGMENTS); + if (shost->use_sg_chaining) + blk_queue_max_phys_segments(q, SCSI_MAX_SG_CHAIN_SEGMENTS); + else + blk_queue_max_phys_segments(q, SCSI_MAX_SG_SEGMENTS); #else blk_queue_max_phys_segments(q, SCSI_MAX_SG_SEGMENTS); #endif |