kern/184512: [snd_maestro] snd_maestro does not function on i386 [regression]

adam ulmer adam.ulmer at gmail.com
Fri Dec 20 20:40:02 UTC 2013


The following reply was made to PR kern/184512; it has been noted by GNATS.

From: adam ulmer <adam.ulmer at gmail.com>
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: kern/184512: [snd_maestro] snd_maestro does not function on i386 [regression]
Date: Fri, 20 Dec 2013 13:30:25 -0700

 --f46d043d676fe849d504edfd2557
 Content-Type: text/plain; charset=UTF-8
 
 I tested 9.2 with:
 
 Dell XPS M1330 with Intel ICH8M had sound support from the default kernel,
 snd_hda(4) <http://man.freebsd.org/snd_hda/4>
 Dell Inspiron 8000 with ESS Maestro3 chipset
 snd_maestro3(4)<http://man.freebsd.org/snd_maestro3/4>requires kldload
 snd_maestro3
 Dell Latitude X300 with Intel ICH4 had sound support from the default
 kernel, snd_ich(4) <http://man.freebsd.org/snd_ich/4>
 Dell Latitude X200 with Intel ICH3 had sound support from the default
 kernel, snd_ich(4) <http://man.freebsd.org/snd_ich/4>
 
 I don't have any hardware that uses
 snd_maestro(4)<http://man.freebsd.org/snd_maestro/4>
 .
 
 
 The "pcm0: cannot allocate status buffer" error message happens on
 line 1835<http://svnweb.freebsd.org/base/release/9.2.0/sys/dev/sound/pci/maestro.c?view=markup#l1835>,
 before the driver can attach to the device. The maestro driver fails to get
 memory for the status/record buffer (the call to dma_malloc() does not
 succeed). If I were being thorough, I would trace through the two
 conditions in dma_malloc() that return
 null<http://svnweb.freebsd.org/base/release/9.2.0/sys/dev/sound/pci/maestro.c?view=markup#l1719>and
 try to figure out why (requires hardware). The only change in the
 maestro driver for 9.2 runs after that part of the code that fails so I'm
 guessing that the loss of sound you experience with 9.2 comes from a change
 somewhere higher up in the hierarchy (maybe PCI changes?).
 
 While I'm trying to make educated guesses, I've never looked at this code
 before and I don't have the hardware. I haven't worked on FreeBSD kernel
 drivers since 2006 so I'd have to get familiar with the current PCI
 subsystem. If the original reporter wants to continue with this guessing
 game, boot into a live CD like the 9.2 live
 cd<ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-i386-bootonly.iso>and
 try the following commands in an attempt to locate which changes since
 9.1 contributed to the loss of sound.
 
 sysctl hw.pci.realloc_bars=1
 sysctl hw.snd.verbose=4
 kldload snd_maestro
 cat /dev/sndstat
 
 I wouldn't make guesses if I had the hardware. I would trace through and
 find out exactly what happens. I'm on holiday and wanted to contribute to
 FreeBSD during my time off. I saw the maestro bug and knew I had hardware
 with maestro something. It turns out it was maestro3 and so I'm not able to
 help after all.
 
 --f46d043d676fe849d504edfd2557
 Content-Type: text/html; charset=UTF-8
 Content-Transfer-Encoding: quoted-printable
 
 <div dir=3D"ltr">I tested 9.2 with:<br><div><br>Dell XPS M1330 with Intel I=
 CH8M had sound support from the default kernel, <a target=3D"_blank" title=
 =3D"The FreeBSD snd_hda(4) manual page" href=3D"http://man.freebsd.org/snd_=
 hda/4">snd_hda(4)</a><br>
 Dell Inspiron 8000 with ESS Maestro3 chipset <a target=3D"_blank" title=3D"=
 The FreeBSD snd_maestro3(4) manual page" href=3D"http://man.freebsd.org/snd=
 _maestro3/4">snd_maestro3(4)</a> requires <code style=3D"background-color:r=
 gb(222,227,231);padding:0.2px;margin:0.1em;display:inline-block"> <kbd>kldl=
 oad snd_maestro3</kbd></code> <br>
 Dell Latitude X300 with Intel ICH4 had sound support from the default kerne=
 l, <a target=3D"_blank" title=3D"The FreeBSD snd_ich(4) manual page" href=
 =3D"http://man.freebsd.org/snd_ich/4">snd_ich(4)</a><br>Dell Latitude X200 =
 with Intel ICH3 had sound support from the default kernel, <a target=3D"_bl=
 ank" title=3D"The FreeBSD snd_ich(4) manual page" href=3D"http://man.freebs=
 d.org/snd_ich/4">snd_ich(4)</a><br>
 <br>I don't have any hardware that uses <a target=3D"_blank" title=3D"T=
 he FreeBSD snd_maestro(4) manual page" href=3D"http://man.freebsd.org/snd_m=
 aestro/4">snd_maestro(4)</a>.<br><br><br>The "pcm0: cannot allocate st=
 atus buffer" error message <a href=3D"http://svnweb.freebsd.org/base/r=
 elease/9.2.0/sys/dev/sound/pci/maestro.c?view=3Dmarkup#l1835" class=3D"">ha=
 ppens on line 1835</a>, before the driver can attach to the device. The <tt=
  style=3D"color:rgb(0,122,0)">maestro</tt> driver fails to get memory for t=
 he status/record buffer (the call to <tt style=3D"color:rgb(0,122,0)">dma_m=
 alloc()</tt> does not succeed).  If I were being thorough, I would trace th=
 rough the two conditions in <a href=3D"http://svnweb.freebsd.org/base/relea=
 se/9.2.0/sys/dev/sound/pci/maestro.c?view=3Dmarkup#l1719" class=3D"">dma_ma=
 lloc() that return null</a> and try to figure out why (requires hardware). =
 The only change in the <tt style=3D"color:rgb(0,122,0)">maestro</tt>
  driver for 9.2 runs after that part of the code that fails so I'm=20
 guessing that the loss of sound you experience with 9.2 comes from a=20
 change somewhere higher up in the hierarchy (maybe PCI changes?).  <br><br>=
 While
  I'm trying to make educated guesses, I've never looked at this cod=
 e=20
 before and I don't have the hardware. I haven't worked on FreeBSD k=
 ernel
  drivers since 2006 so I'd have to get familiar with the current PCI=20
 subsystem. If the original reporter wants to continue with this guessing ga=
 me, boot into a live CD like <a href=3D"ftp://ftp.freebsd.org/pub/FreeBSD/r=
 eleases/i386/i386/ISO-IMAGES/9.2/FreeBSD-9.2-RELEASE-i386-bootonly.iso" cla=
 ss=3D"">the 9.2 live cd</a> and try the following commands in an attempt to=
  locate which changes since 9.1 contributed to the loss of sound.<br>
 <br><code style=3D"background-color:rgb(222,227,231);padding:0.2px;margin:0=
 .1em;display:inline-block"> <kbd>sysctl hw.pci.realloc_bars=3D1</kbd></code=
 ><br><code style=3D"background-color:rgb(222,227,231);padding:0.2px;margin:=
 0.1em;display:inline-block"> <kbd>sysctl hw.snd.verbose=3D4</kbd></code><br=
 >
 <code style=3D"background-color:rgb(222,227,231);padding:0.2px;margin:0.1em=
 ;display:inline-block"> <kbd>kldload snd_maestro</kbd></code><br><code styl=
 e=3D"background-color:rgb(222,227,231);padding:0.2px;margin:0.1em;display:i=
 nline-block"> <kbd>cat /dev/sndstat</kbd></code><br>
 <br>I
  wouldn't make guesses if I had the hardware. I would trace through and=
 =20
 find out exactly what happens. I'm on holiday and wanted to contribute=
 =20
 to FreeBSD during my time off. I saw the <tt style=3D"color:rgb(0,122,0)">m=
 aestro</tt> bug and knew I had hardware with maestro something. It turns ou=
 t it was <tt style=3D"color:rgb(0,122,0)">maestro3</tt> and so I'm not =
 able to help after all.<br>
 </div></div>
 
 --f46d043d676fe849d504edfd2557--


More information about the freebsd-multimedia mailing list