From owner-freebsd-hackers@FreeBSD.ORG Fri Jun 22 16:44:38 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id D8D2B1065670; Fri, 22 Jun 2012 16:44:38 +0000 (UTC) (envelope-from br@jail.io) Received: from mx.bsdpad.com (mx.bsdpad.com [46.4.68.80]) by mx1.freebsd.org (Postfix) with ESMTP id 931F08FC14; Fri, 22 Jun 2012 16:44:38 +0000 (UTC) Received: from mx.bsdpad.com ([46.4.68.80] helo=jail.io) by mx.bsdpad.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.77 (FreeBSD)) (envelope-from ) id 1Si6y9-0003WV-PY; Fri, 22 Jun 2012 20:44:25 +0400 Received: (from br@localhost) by jail.io (8.14.5/8.14.5/Submit) id q5MGiPSt013546; Fri, 22 Jun 2012 16:44:25 GMT (envelope-from br) Date: Fri, 22 Jun 2012 20:44:25 +0400 From: Ruslan Bukin To: John Baldwin Message-ID: <20120622164425.GA13364@jail.io> References: <20120620204441.GA63638@jail.io> <201206210812.41137.jhb@freebsd.org> <20120622091146.GA5305@jail.io> <201206221023.46697.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <201206221023.46697.jhb@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-hackers@freebsd.org Subject: Re: newbus / snd_hdspe(4) trouble X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jun 2012 16:44:38 -0000 On Fri, Jun 22, 2012 at 10:23:46AM -0400, John Baldwin wrote: > On Friday, June 22, 2012 5:11:46 am Ruslan Bukin wrote: > > On Thu, Jun 21, 2012 at 08:12:41AM -0400, John Baldwin wrote: > > > 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. > > > > I have changed, but no success. > > > > hdspe.c: > > DRIVER_MODULE_ORDERED(snd_hdspe, pci, hdspe_driver, pcm_devclass, 0, 0, SI_ORDER_SECOND); > > Try making this one use SI_ORDER_ANY. Also no success. -Ruslan