mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	ide: use PageHighMem() instead of ifdefs in ide_pio_bytes()
Use PageHighMem() instead of ifdefs in ide_pio_bytes() (=> local IRQs won't be disabled when not necessary). Cc: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
		
							parent
							
								
									7a00798b1a
								
							
						
					
					
						commit
						f2bc316736
					
				
					 1 changed files with 6 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -195,9 +195,7 @@ static void ide_pio_bytes(ide_drive_t *drive, struct ide_cmd *cmd,
 | 
			
		|||
	struct scatterlist *sg = hwif->sg_table;
 | 
			
		||||
	struct scatterlist *cursg = cmd->cursg;
 | 
			
		||||
	struct page *page;
 | 
			
		||||
#ifdef CONFIG_HIGHMEM
 | 
			
		||||
	unsigned long flags;
 | 
			
		||||
#endif
 | 
			
		||||
	unsigned int offset;
 | 
			
		||||
	u8 *buf;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -218,9 +216,9 @@ static void ide_pio_bytes(ide_drive_t *drive, struct ide_cmd *cmd,
 | 
			
		|||
		page = nth_page(page, (offset >> PAGE_SHIFT));
 | 
			
		||||
		offset %= PAGE_SIZE;
 | 
			
		||||
 | 
			
		||||
#ifdef CONFIG_HIGHMEM
 | 
			
		||||
		if (PageHighMem(page))
 | 
			
		||||
			local_irq_save(flags);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		buf = kmap_atomic(page, KM_BIO_SRC_IRQ) + offset;
 | 
			
		||||
 | 
			
		||||
		cmd->nleft -= nr_bytes;
 | 
			
		||||
| 
						 | 
				
			
			@ -238,9 +236,9 @@ static void ide_pio_bytes(ide_drive_t *drive, struct ide_cmd *cmd,
 | 
			
		|||
			hwif->tp_ops->input_data(drive, cmd, buf, nr_bytes);
 | 
			
		||||
 | 
			
		||||
		kunmap_atomic(buf, KM_BIO_SRC_IRQ);
 | 
			
		||||
#ifdef CONFIG_HIGHMEM
 | 
			
		||||
 | 
			
		||||
		if (PageHighMem(page))
 | 
			
		||||
			local_irq_restore(flags);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
		len -= nr_bytes;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue