I'm slowly getting around to getting my Turtle Beach Santa Cruz
card working properly (as distinct from just limping along) under
Linux using ALSA. One recent (and annoying) development began to occur
if the snd-card-cs46xx module was autocleaned. Attempting to reload it
resulted in the error message:

ALSA card-cs46xx.c:188: Sound Fusion CS46xx soundcard not found or
   device busy

   The only way to get sound again seemed to involve a reboot.

   System details are:
- Compaq 7000US with AMD 1.2G Athlon processor, 512M RAM
- Linux 2.4.17 with FreeS/WAN patches (promlem still appeared on
  unpatched kernel)
- alsa drivers 0.9.0beta10, but earlier versions also exhibited the
  problem

   After much peering around, traced the problem to function
snd_ac97_mixer() in file lowlevel/generic/ac97_codec.c. Line 1407
defines a max time delay after chip reset before failure:

        end_time = jiffies + (HZ / 2);

   This was apparently not long enough; changing it to

        end_time = jiffies + (HZ);

   seems to have cured the problem (although this is probably at least
as empirical as the original!). The 4297 datasheet isn't much help
here, so I'm not sure what the real value should be. With the original
value, the delay loop would time out on an attempt to reload the
module. I'm not sure why it would work on initial load; perhaps, ince
this happened at boot time and the machine was presumably working
harder, the effective delay period was somewhat longer.

   Next Santa Cruz job will be to sort out weird mixer problems.

 .....Ron

-- 
Ron Murray   ([EMAIL PROTECTED])
https://www.rjmx.net/~ron
GPG Public Key Fingerprint: F2C1 FC47 5EF7 0317 133C  D66B 8ADA A3C4 D86C 74DE

_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to