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 c75cb6ad6d94..b6e6d801768b 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, | |||
1645 | * converted, so better keep it safe. | 1645 | * converted, so better keep it safe. |
1646 | */ | 1646 | */ |
1647 | #ifdef ARCH_HAS_SG_CHAIN | 1647 | #ifdef ARCH_HAS_SG_CHAIN |
1648 | blk_queue_max_phys_segments(q, SCSI_MAX_SG_CHAIN_SEGMENTS); | 1648 | if (shost->use_sg_chaining) |
1649 | blk_queue_max_phys_segments(q, SCSI_MAX_SG_CHAIN_SEGMENTS); | ||
1650 | else | ||
1651 | blk_queue_max_phys_segments(q, SCSI_MAX_SG_SEGMENTS); | ||
1649 | #else | 1652 | #else |
1650 | blk_queue_max_phys_segments(q, SCSI_MAX_SG_SEGMENTS); | 1653 | blk_queue_max_phys_segments(q, SCSI_MAX_SG_SEGMENTS); |
1651 | #endif | 1654 | #endif |