Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jun 2012 08:12:41 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        Ruslan Bukin <br@bsdpad.com>
Subject:   Re: newbus / snd_hdspe(4) trouble
Message-ID:  <201206210812.41137.jhb@freebsd.org>
In-Reply-To: <20120620204441.GA63638@jail.io>
References:  <20120620204441.GA63638@jail.io>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, June 20, 2012 4:44:41 pm Ruslan Bukin wrote:
> Hi.
> 
> I have the problem with different behavior of snd_hdspe(4) sound card 
> driver initialization.
> 
> If I load the driver by hand using kldload everything works fine,
> but in case of loading driver at boot time (loader.conf) or compile 
> in kernel the driver can't initialize propertly.
> 
> The snd_hdspe(4) driver is designed to create a pcm child device per 
> each pair of sound channels.
> 
> The problem is that snd_hdspe loaded normally, but pcm child devices
> are not appears. hdspe_pcm_probe() in driver is not called at all.
> However snd_hdspe_pcm driver exists in kldstat -v after boot:
>  5    1 0xffffffff81377000 a2c8     snd_hdspe.ko (/boot/kernel/snd_hdspe.ko)
>  Contains modules:
>  	  Id Name
> 	      7 hdspe/snd_hdspe_pcm
> 	      	 6 pci/snd_hdspe
> 
> and I have checked, device_add_child() returns not NULL.
> 
> I played with MODULE_DEPEND as done in snd_hda(4) but no luck.
> What can I do to debug the problem?

The snd_hdspe driver probably needs to use DRIVER_MODULE_ORDERED() to ensure 
the other modules in its kld are registered with new-bus before it tries to 
attach to devices.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201206210812.41137.jhb>