Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db8cf334 authored by Krzysztof Helt's avatar Krzysztof Helt Committed by Takashi Iwai
Browse files

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: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 40962d7c
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -393,8 +393,6 @@ size_dram(struct snd_emu8000 *emu)


	while (size < EMU8000_MAX_DRAM) {
	while (size < EMU8000_MAX_DRAM) {


		size += 512 * 1024;  /* increment 512kbytes */

		/* Write a unique data on the test address.
		/* Write a unique data on the test address.
		 * if the address is out of range, the data is written on
		 * if the address is out of range, the data is written on
		 * 0x200000(=EMU8000_DRAM_OFFSET).  Then the id word is
		 * 0x200000(=EMU8000_DRAM_OFFSET).  Then the id word is
@@ -414,7 +412,9 @@ size_dram(struct snd_emu8000 *emu)
		/*snd_emu8000_read_wait(emu);*/
		/*snd_emu8000_read_wait(emu);*/
		EMU8000_SMLD_READ(emu); /* discard stale data  */
		EMU8000_SMLD_READ(emu); /* discard stale data  */
		if (EMU8000_SMLD_READ(emu) != UNIQUE_ID2)
		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);
		snd_emu8000_read_wait(emu);