Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Mar 2012 18:07:50 +0100
From:      Joel Dahl <joel@freebsd.org>
To:        Taku YAMAMOTO <taku@tackymt.homeip.net>
Cc:        multimedia@freebsd.org
Subject:   Re: Removing broken drivers in sys/dev/sound/pci
Message-ID:  <20120322170750.GN7018@goofy01.vnodelab.local>
In-Reply-To: <20120321185657.2a986429.taku@tackymt.homeip.net>
References:  <20120120170956.GV11137@goofy01.vnodelab.local> <20120321185657.2a986429.taku@tackymt.homeip.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 21-03-2012 18:56, Taku YAMAMOTO wrote:
> On Fri, 20 Jan 2012 18:09:57 +0100
> Joel Dahl <joel@freebsd.org> wrote:
> 
> > Hi all,
> > 
> > I've been playing with a bunch of old sound cards I had lying around and I've
> > come to the conlusion that maybe it's time to remove a few old drivers we
> > currently have in the tree.
> 
> [snip]
> 
> > - snd_maestro
> > 
> > This driver seems to have been broken since 5.2.1 and there are currently
> > 3 open PR's: kern/63204, kern/119973 and kern/122086. I decided to give it
> > a try with an old ESS Maestro-2 that I have here and I got a bunch of errors
> > when trying to kldload it on FreeBSD-CURRENT:
> > 
> > pcm1: <ESS Technology Maestro-2> port 0x1100-0x11ff irq 22 at device 11.0 on
> > pci16 lock order reversal: (sleepable after non-sleepable)
> >  1st 0xfffffe0008118050 ESS Technology Maestro-2 (snd_maestro softc) @
> >  /usr/src/sys/modules/sound/driver/maestro/../../../../dev/sound/pci/maestro.c:1886
> >  2nd 0xffffffff8111b900 ACPI PCI power methods (ACPI PCI power methods) @
> >  /usr/src/sys/dev/acpica/acpi_pci.c:180
> > KDB: stack backtrace:
> > db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
> > kdb_backtrace() at kdb_backtrace+0x37
> > _witness_debugger() at _witness_debugger+0x2c
> > witness_checkorder() at witness_checkorder+0x854
> > _sx_xlock() at _sx_xlock+0x5d
> > acpi_pci_set_powerstate_method() at acpi_pci_set_powerstate_method+0x6a
> > agg_power() at agg_power+0xd0
> > agg_attach() at agg_attach+0x608
> > device_attach() at device_attach+0x69
> > pci_driver_added() at pci_driver_added+0xda
> > devclass_driver_added() at devclass_driver_added+0x75
> > devclass_add_driver() at devclass_add_driver+0x10b
> > module_register_init() at module_register_init+0x7d
> > linker_load_module() at linker_load_module+0x9c3
> > kern_kldload() at kern_kldload+0xac
> > sys_kldload() at sys_kldload+0x84
> > amd64_syscall() at amd64_syscall+0x39e
> > Xfast_syscall() at Xfast_syscall+0xf7
> > --- syscall (304, FreeBSD ELF64, sys_kldload), rip = 0x8008adc0c,
> >  rsp = 0x7fffffffd5c8, rbp = 0x7fffffffdb48 ---
> > pcm1: agg_rdcodec() RW_DONE timed out.
> > pcm1: agg_rdcodec() PROGLESS timed out.
> > pcm1: agg_wrcodec() PROGLESS timed out.
> > pcm1: <Asahi Kasei AK4540 AC97 Codec>
> > pcm1: agg_rdcodec() PROGLESS timed out.
> > pcm1: agg_wrcodec() PROGLESS timed out.
> > pci16: failed to set ACPI power state D2 on \\_SB_.PCI0.HUB_.SLT3: AE_BAD_PARAMETER
> > 
> > Playback does not work, which isn't all that surprising.
> 
> I, as the author of this driver, am interested in that you still have
> actual hardware and trying to make it work.
> 
> To consider fixing this driver, your help would be very appriciated
> because I no longer have this type of device handy.
> 
> First of all, the attached patch works for you?

Hi,

I'v applied the patch and I've done some testing now.

The lock order reversal is gone.

The pci16 ACPI error message is also gone.

All those agg_rdcodec()/agg_wrcodec messages are still there.

Playback does not seem to work.

-- 
Joel



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