Re: cmipci driver locking up linux hard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Mon, 7 Aug 2006 09:29:59 -0700 (PDT),
Christoph Lameter wrote:
> 
> On Mon, 7 Aug 2006, Takashi Iwai wrote:
> 
> > At Fri, 4 Aug 2006 16:22:56 -0700 (PDT),
> > Christoph Lameter wrote:
> > > 
> > > I recently bought a cmpci pci card with support for 6 channel surround 
> > > sound. Vendor was PPA Int'l.
> > > 
> > > I can play music for shorter or longer time period but then it invariably 
> > > locks up. If one tries the surround sound then it locks up very fast. 
> > > Guess some concurrency issue? Run on a P4M800PROC Motherbord with
> > > a Pentium940 (verified that lockup also occurs with single processor).
> > 
> > Does it happen with 2.6.18rc kernel, too?
> 
> Yes. This was reported against 2.6.18-rc3.

:-<

Did you set CONFIG_SND_DEBUG=y, just to be sure?

>  > There is no big change in the driver and it didn't get much troubles.
> > One significant fix after 2.6.17 is to disable the support of the
> > integrated MPU401 interface as default, which may cause lock up at
> > module loading time.
> 
> What else could it be? Is there any additional way to get more information 
> about the failure?

I have also no clue what's broken since the driver is fairly simple
and the interrupt handler looks OK.  You can try to disable some
unnecessary features like midi and opl3 stuff, such as below, to
eliminate the possible causes.

Also, you can still try the old OSS cmpci driver...


Takashi

diff -r c02c4dc749e7 pci/cmipci.c
--- a/pci/cmipci.c	Sat Aug 05 13:48:40 2006 +0200
+++ b/pci/cmipci.c	Mon Aug 07 20:02:53 2006 +0200
@@ -2825,7 +2825,7 @@ static int __devinit snd_cmipci_create(s
 		.dev_free =	snd_cmipci_dev_free,
 	};
 	unsigned int val = 0;
-	long iomidi;
+	long iomidi = 0;
 	int integrated_midi;
 	int pcm_index, pcm_spdif_index;
 	static struct pci_device_id intel_82437vx[] = {
@@ -2931,6 +2931,7 @@ static int __devinit snd_cmipci_create(s
 		return err;
 	}
 
+#if 0
 	integrated_midi = snd_cmipci_read_b(cm, CM_REG_MPU_PCI) != 0xff;
 	if (integrated_midi && mpu_port[dev] == 1)
 		iomidi = cm->iobase + CM_REG_MPU_PCI;
@@ -2953,6 +2954,7 @@ static int __devinit snd_cmipci_create(s
 
 	if ((err = snd_cmipci_create_fm(cm, fm_port[dev])) < 0)
 		return err;
+#endif
 
 	/* reset mixer */
 	snd_cmipci_mixer_write(cm, 0, 0);

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux