Hi,
The attached patch :
* fixes a typo in the number of channels for hdsp 9652 cards
* fixes problems on hdsp9652 where the driver reported the firmware had to
be loaded
* adds an explicit warning about the fact that hardware metering is not
supported yet for hdsp 9652 cards
Thomas
--- hdsp.c.old 2003-07-12 17:39:07.000000000 +0200
+++ hdsp.c 2003-07-17 21:44:38.000000000 +0200
@@ -76,8 +76,8 @@
#define DIGIFACE_DS_CHANNELS 14
#define MULTIFACE_SS_CHANNELS 18
#define MULTIFACE_DS_CHANNELS 14
-#define H9652_DS_CHANNELS 26
-#define H9652_SS_CHANNELS 14
+#define H9652_SS_CHANNELS 26
+#define H9652_DS_CHANNELS 14
/* Write registers. These are defined as byte-offsets from the iobase value.
*/
@@ -643,6 +643,7 @@
static inline int hdsp_check_for_firmware (hdsp_t *hdsp)
{
+ if (hdsp->io_type == H9652) return 0;
if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) {
snd_printk("firmware not present.\n");
hdsp->state &= ~HDSP_FirmwareLoaded;
@@ -3798,6 +3799,10 @@
switch (cmd) {
case SNDRV_HDSP_IOCTL_GET_PEAK_RMS:
+ if (hdsp->io_type == H9652) {
+ snd_printk("hardware metering isn't supported yet for hdsp9652
cards\n");
+ return -EINVAL;
+ }
if (!(hdsp->state & HDSP_FirmwareLoaded)) {
snd_printk("firmware needs to be uploaded to the card.\n");
return -EINVAL;