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;