2.1.94 breaks ALS-100 SB16-compatible soundcard

Mikael Pettersson (Mikael.Pettersson@sophia.inria.fr)
Fri, 10 Apr 1998 14:24:08 +0200 (MET DST)


linux-2.1.94 breaks my ALS-100 PnP SB16-compatible soundcard.
It's always worked fine to configure this card as a true SB16,
in both 2.0.xx and 2.1.xx kernels, but linux-2.1.94 incorrectly
identifies the card as being ALS-007 based. Quake still runs,
but produces no sound. (No errors in any logs.)
(And no, I don't warmboot via DOS/Win. The BIOS does all the
PnP initialization the card requires.)

Included below is:
* A patch to drivers/sound/sb_common.c to disable the ALS-007
identification. With this patch, my card is again recognized
as an SB16, and Quake produces the expected sound effects :-)
* A patch for a typo in drivers/sound/dmabuf.c
* My /dev/sndstat for vanilla 2.1.94

I'd be happy to run some tests so that we can work out the
proper way of identifying the ALS-007 and ALS-100 chips.

/Mikael

--- linux-2.1.94/drivers/sound/dmabuf.c.~1~ Thu Apr 9 20:16:13 1998
+++ linux-2.1.94/drivers/sound/dmabuf.c Thu Apr 9 23:51:12 1998
@@ -104,7 +104,7 @@
dmap->raw_buf_phys = virt_to_bus(start_addr);

for (i = MAP_NR(start_addr); i <= MAP_NR(end_addr); i++)
- set_bit(PG_reserved, &mem_map[i].flags);;
+ set_bit(PG_reserved, &mem_map[i].flags);
return 0;
}

--- linux-2.1.94/drivers/sound/sb_common.c.~1~ Thu Apr 9 20:16:21 1998
+++ linux-2.1.94/drivers/sound/sb_common.c Fri Apr 10 00:02:38 1998
@@ -820,6 +820,7 @@
* be !=0 after a reset which forms the basis of the ALS007 test
* since a "standard" SoundBlaster does not have a register at 0x4c.
*/
+#if 0
mixer3c = sb_getmixer(devc,0x3c);
mixer4c = sb_getmixer(devc,0x4c);
if ((devc->minor == 2) && (mixer3c != 0) && (mixer4c != 0))
@@ -830,7 +831,9 @@
if (hw_config->name == NULL)
hw_config->name = "Sound Blaster (ALS-007)";
}
- else if (hw_config->name == NULL)
+ else
+#endif
+ if (hw_config->name == NULL)
hw_config->name = "Sound Blaster 16";

if (hw_config->dma2 == -1)

OSS/Free:3.8s2++-971130
Load type: Driver compiled into kernel
Kernel: Linux brewer 2.1.94 #1 Thu Apr 9 22:49:32 CEST 1998 i586
Config options: 0

Installed drivers:
Type 1: OPL-2/OPL-3 FM
Type 26: MPU-401 (UART)
Type 2: Sound Blaster
Type 29: Sound Blaster PnP
Type 7: SB MPU-401

Card config:
Sound Blaster at 0x220 irq 5 drq 1,5
SB MPU-401 at 0x330 irq 5 drq 0
OPL-2/OPL-3 FM at 0x388 drq 0

Audio devices:
0: Sound Blaster (ALS-007) (4.2) ; should be: Sound Blaster 16 (4.2)

Synth devices:
0: Yamaha OPL-3

Midi devices:
0: Sound Blaster 16

Timers:
0: System clock

Mixers:
0: Avance ALS-007 ; should be: Sound Blaster

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu