patch-2.1.41 linux/drivers/sound/sb_common.c
Next file: linux/drivers/sound/sb_midi.c
Previous file: linux/drivers/sound/sb.h
Back to the patch index
Back to the overall index
- Lines: 82
- Date:
Sun May 11 02:59:20 1997
- Orig file:
v2.1.40/linux/drivers/sound/sb_common.c
- Orig date:
Tue Mar 4 10:25:25 1997
diff -u --recursive --new-file v2.1.40/linux/drivers/sound/sb_common.c linux/drivers/sound/sb_common.c
@@ -58,10 +58,7 @@
int i;
unsigned long limit;
- limit = jiffies + HZ / 10; /*
- * The timeout is 0.1 seconds
- */
-
+ limit = jiffies + HZ / 10; /* Timeout */
/*
* Note! the i<500000 is an emergency exit. The sb_dsp_command() is sometimes
* called while interrupts are disabled. This means that the timer is
@@ -173,7 +170,8 @@
break;
default:
- printk ("Sound Blaster: Unexpected interrupt\n");
+ /* printk ("Sound Blaster: Unexpected interrupt\n"); */
+ ;
}
/*
* Acknowledge interrupts
@@ -633,6 +631,7 @@
for (i = 0; i < 10000; i++)
inb (DSP_DATA_AVAIL);
devc->caps = SB_NO_AUDIO | SB_NO_MIDI; /* Mixer only */
+ devc->model = MDL_AZTECH;
}
}
}
@@ -666,6 +665,7 @@
sb_devc *devc;
int n;
char name[100];
+ extern int sb_be_quiet;
/*
* Check if we had detected a SB device earlier
@@ -776,7 +776,7 @@
{
devc->model = hw_config->card_subtype = MDL_SBPRO;
if (hw_config->name == NULL)
- hw_config->name = "Sound Blaster Pro";
+ hw_config->name = "Sound Blaster Pro (8 BIT ONLY)";
}
break;
@@ -809,10 +809,33 @@
#endif
if (hw_config->name == NULL)
- hw_config->name = "Sound Blaster";
+ hw_config->name = "Sound Blaster (8 BIT/MONO ONLY)";
sprintf (name, "%s (%d.%d)", hw_config->name, devc->major, devc->minor);
conf_printf (name, hw_config);
+
+/*
+ * Assuming that a soundcard is Sound Blaster (compatible) is the most common
+ * configuration error and the mother of all problems. Usually soundcards
+ * emulate SB Pro but in addition they have a 16 bit native mode which should be
+ * used in Unix. See Readme.cards for more information about configuring OSS/Free
+ * properly.
+ */
+ if (devc->model <= MDL_SBPRO)
+ if (devc->major == 3 && devc->minor != 1) /* "True" SB Pro should have v3.1. */
+ {
+ printk ("This soundcard doesn't seem to be fully Sound Blaster Pro compatible.\n");
+ printk ("Almost certainly there is another way to configure OSS so that\n");
+ printk ("it works properly with OSS (for example in 16 bit mode).\n");
+ }
+ else if (!sb_be_quiet && devc->model == MDL_SBPRO)
+ {
+ printk ("SB DSP version is just %d.%d which means that your card is\n",
+ devc->major, devc->minor);
+ printk ("several years old (8 bit only device)\n");
+ printk ("or alternatively the sound driver is incorrectly configured.\n");
+ }
+
hw_config->card_subtype = devc->model;
last_devc = devc; /* For SB MPU detection */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov