mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
				synced 2025-11-05 01:03:37 +10:00 
			
		
		
		
	ALSA: sbawe: fix memory detection
Memory amount is increased before a successful write-read sequence is done. Thus, 512 kB of onboard memory is detected on memoryless cards like SB32. Move the increasing of memory counter after successful read is done. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
		
							parent
							
								
									40962d7c74
								
							
						
					
					
						commit
						db8cf334f6
					
				@ -393,8 +393,6 @@ size_dram(struct snd_emu8000 *emu)
 | 
			
		||||
 | 
			
		||||
	while (size < EMU8000_MAX_DRAM) {
 | 
			
		||||
 | 
			
		||||
		size += 512 * 1024;  /* increment 512kbytes */
 | 
			
		||||
 | 
			
		||||
		/* Write a unique data on the test address.
 | 
			
		||||
		 * if the address is out of range, the data is written on
 | 
			
		||||
		 * 0x200000(=EMU8000_DRAM_OFFSET).  Then the id word is
 | 
			
		||||
@ -414,7 +412,9 @@ size_dram(struct snd_emu8000 *emu)
 | 
			
		||||
		/*snd_emu8000_read_wait(emu);*/
 | 
			
		||||
		EMU8000_SMLD_READ(emu); /* discard stale data  */
 | 
			
		||||
		if (EMU8000_SMLD_READ(emu) != UNIQUE_ID2)
 | 
			
		||||
			break; /* we must have wrapped around */
 | 
			
		||||
			break; /* no memory at this address */
 | 
			
		||||
 | 
			
		||||
		size += 512 * 1024;  /* increment 512kbytes */
 | 
			
		||||
 | 
			
		||||
		snd_emu8000_read_wait(emu);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user