Skip to content

Commit

Permalink
ALSA: sbawe: fix memory detection
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
Krzysztof-H authored and tiwai committed Dec 21, 2009
1 parent 40962d7 commit db8cf33
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions sound/isa/sb/emu8000.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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);

Expand Down

0 comments on commit db8cf33

Please sign in to comment.