mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	scsi: core: take the DMA max mapping size into account
We need to limit the device's max_sectors to what the DMA mapping implementation can support. If not, we risk running out of swiotlb buffers easily. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
		
							parent
							
								
									7ad388d8e4
								
							
						
					
					
						commit
						bdd17bdef7
					
				
					 1 changed files with 2 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -1784,6 +1784,8 @@ void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q)
 | 
			
		|||
		blk_queue_max_integrity_segments(q, shost->sg_prot_tablesize);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	shost->max_sectors = min_t(unsigned int, shost->max_sectors,
 | 
			
		||||
			dma_max_mapping_size(dev) << SECTOR_SHIFT);
 | 
			
		||||
	blk_queue_max_hw_sectors(q, shost->max_sectors);
 | 
			
		||||
	if (shost->unchecked_isa_dma)
 | 
			
		||||
		blk_queue_bounce_limit(q, BLK_BOUNCE_ISA);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue