On Mon, 2010-02-22 at 23:51 +0000, Fernando
Lopez-Lezcano wrote:
On Tue, 2010-02-16 at 17:58 -0800, Fernando
Lopez-Lezcano wrote:
> Hey, has anyone been seeing strange behavior from this combination?
>
> kernel 2.6.31.x rt20 + alsa 1.0.22 userland
> RME card (pcmcia card + multiface)
>
> hdspmixer is not doing the right thing (does not initialize the card in
> a way in which playback works), it does not see the hwdep interface (or
> something like that) and disables metering,
[MUNCH]
I have been trying to see if I can figure
_anything_ out of this...
A diff of 2.6.29 (last known working) against 2.6.31.12 reveals
something that might have an influence on the problem:
in snd_hdsp_create_hwdep there are two lines added:
+ hw->ops.open = snd_hdsp_hwdep_dummy_op;
Hmmm, looks like snd_hdsp_hwdep_dummy_op is not passing back the
hdsp->hwdep structure to the open call at all (returning 0 is not enough
from the description of the alsa api). That would explain what is
happening, most probably no ioctls are found...
Am I on the right track?
Argh. I was looking at the diff backwards (DOH!). The ops.open and
ops.release ioctl calls are _missing_ in the 2.6.31.12 tree.
-- Fernando
> hw->ops.ioctl = snd_hdsp_hwdep_ioctl;
> + hw->ops.release = snd_hdsp_hwdep_dummy_op;
>
> And snd_hdsp_hwdep_dummy_op just returns 0...
>
> Other differences between the two files (not that many) seem irrelevant
> to me.
>
> I imagine this is what is causing the difference in behavior (hwdep
> fails). Any suggestions on what I could try to fix this?
>
> Thanks for any help!