Subject: Re: kern/35553: azalia hangs an Optiplex 745
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Michael L. Hitch <mhitch@lightning.msu.montana.edu>
List: netbsd-bugs
Date: 08/24/2007 14:35:01
The following reply was made to PR kern/35553; it has been noted by GNATS.

From: "Michael L. Hitch" <mhitch@lightning.msu.montana.edu>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@netbsd.org, gnats-admin@netbsd.org,
	netbsd-bugs@netbsd.org
Subject: Re: kern/35553: azalia hangs an Optiplex 745
Date: Fri, 24 Aug 2007 07:24:01 -0600 (MDT)

 On Thu, 23 Aug 2007, Michael L. Hitch wrote:
 
 > I've started poking around with my Optiplex 745, and it's hung waiting
 > for a pending deferred autoconf function to complete.  Then pending count
 > is 1, so I'd guess it's the last one queued.  I'm going to dig into what
 > that function is and where it hangs up.
 
 I think I see what's going on with the hang.  Each USB controller starts a
 kernel process to handle events, and increments the config_pending 
 semaphore.  When the process starts, it calls a discovery routine, and
 decrements the semaphore when the discovery returns.  The process for 
 uhci0 never completes the discovery routine because when the azalia 
 initializes the codec, it somehow interferes with the uhci0 controller,
 which halts.  If ehci has been disabled, then there is no interference
 and all the usb event processes complete their initialization and 
 everything proceeds normally.  (Well, almost normally - I find that my
 USB keyboard fails to attach if ehci is disabled.  I can usually get it
 to attach by plugging it into a different port, although is sometimes 
 takes several attempts.)
 
 So all these problems seem to come back the the uhci/ehci interaction with
 azalia and bge.  One thing to note is that all three of these device are
 sharing the same interrupt.
 
 --
 Michael L. Hitch			mhitch@montana.edu
 Computer Consultant
 Information Technology Center
 Montana State University	Bozeman, MT	USA