diff options
Diffstat (limited to 'sound/isa/sb/emu8000.c')
-rw-r--r-- | sound/isa/sb/emu8000.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sound/isa/sb/emu8000.c b/sound/isa/sb/emu8000.c index 96678d5d3834..0c40951b6523 100644 --- a/sound/isa/sb/emu8000.c +++ b/sound/isa/sb/emu8000.c | |||
@@ -377,12 +377,13 @@ init_arrays(struct snd_emu8000 *emu) | |||
377 | static void __devinit | 377 | static void __devinit |
378 | size_dram(struct snd_emu8000 *emu) | 378 | size_dram(struct snd_emu8000 *emu) |
379 | { | 379 | { |
380 | int i, size; | 380 | int i, size, detected_size; |
381 | 381 | ||
382 | if (emu->dram_checked) | 382 | if (emu->dram_checked) |
383 | return; | 383 | return; |
384 | 384 | ||
385 | size = 0; | 385 | size = 0; |
386 | detected_size = 0; | ||
386 | 387 | ||
387 | /* write out a magic number */ | 388 | /* write out a magic number */ |
388 | snd_emu8000_dma_chan(emu, 0, EMU8000_RAM_WRITE); | 389 | snd_emu8000_dma_chan(emu, 0, EMU8000_RAM_WRITE); |
@@ -414,7 +415,9 @@ size_dram(struct snd_emu8000 *emu) | |||
414 | /*snd_emu8000_read_wait(emu);*/ | 415 | /*snd_emu8000_read_wait(emu);*/ |
415 | EMU8000_SMLD_READ(emu); /* discard stale data */ | 416 | EMU8000_SMLD_READ(emu); /* discard stale data */ |
416 | if (EMU8000_SMLD_READ(emu) != UNIQUE_ID2) | 417 | if (EMU8000_SMLD_READ(emu) != UNIQUE_ID2) |
417 | break; /* we must have wrapped around */ | 418 | break; /* no memory at this address */ |
419 | |||
420 | detected_size = size; | ||
418 | 421 | ||
419 | snd_emu8000_read_wait(emu); | 422 | snd_emu8000_read_wait(emu); |
420 | 423 | ||
@@ -442,9 +445,9 @@ size_dram(struct snd_emu8000 *emu) | |||
442 | snd_emu8000_dma_chan(emu, 1, EMU8000_RAM_CLOSE); | 445 | snd_emu8000_dma_chan(emu, 1, EMU8000_RAM_CLOSE); |
443 | 446 | ||
444 | snd_printdd("EMU8000 [0x%lx]: %d Kb on-board memory detected\n", | 447 | snd_printdd("EMU8000 [0x%lx]: %d Kb on-board memory detected\n", |
445 | emu->port1, size/1024); | 448 | emu->port1, detected_size/1024); |
446 | 449 | ||
447 | emu->mem_size = size; | 450 | emu->mem_size = detected_size; |
448 | emu->dram_checked = 1; | 451 | emu->dram_checked = 1; |
449 | } | 452 | } |
450 | 453 | ||