* 2.6.22-rc1 lost snd_4236 device @ 2007-05-13 16:23 Pete Clements 2007-05-14 8:16 ` Takashi Iwai 2007-05-15 5:42 ` Rene Herman 0 siblings, 2 replies; 8+ messages in thread From: Pete Clements @ 2007-05-13 16:23 UTC (permalink / raw) To: linux-kernel Fyi: With 2.6.22-rc1 get following when loading sound device module. Introduced with 2.6.21-git16. FATAL: Error inserting snd_cs4236 (/lib/modules/2.6.22-rc1/kernel/sound/isa/cs423x/snd-cs4236.ko): No such device FATAL: Error running install command for snd_cs4236 -- Pete Clements ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.22-rc1 lost snd_4236 device 2007-05-13 16:23 2.6.22-rc1 lost snd_4236 device Pete Clements @ 2007-05-14 8:16 ` Takashi Iwai 2007-05-15 5:42 ` Rene Herman 1 sibling, 0 replies; 8+ messages in thread From: Takashi Iwai @ 2007-05-14 8:16 UTC (permalink / raw) To: Pete Clements; +Cc: linux-kernel At Sun, 13 May 2007 12:23:52 -0400 (EDT), Pete Clements wrote: > > Fyi: > With 2.6.22-rc1 get following when loading sound device module. Introduced > with 2.6.21-git16. > > FATAL: Error inserting snd_cs4236 (/lib/modules/2.6.22-rc1/kernel/sound/isa/cs423x/snd-cs4236.ko): No such device > FATAL: Error running install command for snd_cs4236 What are module parameters? The driver was ported to use isa_driver framework for non-isapnp and non-pnp modes. This might influence on the behavior. Takashi ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.22-rc1 lost snd_4236 device 2007-05-13 16:23 2.6.22-rc1 lost snd_4236 device Pete Clements @ 2007-05-15 5:42 ` Rene Herman 2007-05-15 5:42 ` Rene Herman 1 sibling, 0 replies; 8+ messages in thread From: Rene Herman @ 2007-05-15 5:42 UTC (permalink / raw) To: Pete Clements; +Cc: Takashi Iwai, ALSA devel, linux-kernel [-- Attachment #1: Type: text/plain, Size: 607 bytes --] On 05/13/2007 06:23 PM, Pete Clements wrote: > Fyi: > With 2.6.22-rc1 get following when loading sound device module. Introduced > with 2.6.21-git16. > > FATAL: Error inserting snd_cs4236 (/lib/modules/2.6.22-rc1/kernel/sound/isa/cs423x/snd-cs4236.ko): No such device > FATAL: Error running install command for snd_cs4236 Yup; the conversion of the mixed legacy/pnp ALSA drivers to the isa_bus framework is not quite right. Wants the attached. Takashi, this needs to go to Linus. Can you make sure it gets there? This is against -linus HEAD. Signed-off-by: Rene Herman <rene.herman@gmail.com> Rene. [-- Attachment #2: alsa_isa_registered.diff --] [-- Type: text/plain, Size: 10451 bytes --] diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c index 214d65d..f471f8a 100644 --- a/sound/isa/cmi8330.c +++ b/sound/isa/cmi8330.c @@ -109,6 +109,7 @@ module_param_array(wssdma, int, NULL, 0444); MODULE_PARM_DESC(wssdma, "DMA for CMI8330 WSS driver."); #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; #endif @@ -686,14 +687,18 @@ static int __init alsa_card_cmi8330_init(void) int err; err = isa_register_driver(&snd_cmi8330_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP + if (!err) + isa_registered = 1; + err = pnp_register_card_driver(&cmi8330_pnpc_driver); if (!err) pnp_registered = 1; + + if (isa_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_cmi8330_exit(void) @@ -701,8 +706,10 @@ static void __exit alsa_card_cmi8330_exit(void) #ifdef CONFIG_PNP if (pnp_registered) pnp_unregister_card_driver(&cmi8330_pnpc_driver); + + if (isa_registered) #endif - isa_unregister_driver(&snd_cmi8330_driver); + isa_unregister_driver(&snd_cmi8330_driver); } module_init(alsa_card_cmi8330_init) diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c index 87f1392..1a14f33 100644 --- a/sound/isa/cs423x/cs4236.c +++ b/sound/isa/cs423x/cs4236.c @@ -127,6 +127,7 @@ module_param_array(dma2, int, NULL, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for " IDENT " driver."); #ifdef CONFIG_PNP +static int isa_registered; static int pnpc_registered; #ifdef CS4232 static int pnp_registered; @@ -770,9 +771,9 @@ static int __init alsa_card_cs423x_init(void) int err; err = isa_register_driver(&cs423x_isa_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP + if (!err) + isa_registered = 1; #ifdef CS4232 err = pnp_register_driver(&cs4232_pnp_driver); if (!err) @@ -781,8 +782,14 @@ static int __init alsa_card_cs423x_init(void) err = pnp_register_card_driver(&cs423x_pnpc_driver); if (!err) pnpc_registered = 1; -#endif /* CONFIG_PNP */ - return 0; +#ifdef CS4232 + if (pnp_registered) + err = 0; +#endif + if (isa_registered) + err = 0; +#endif + return err; } static void __exit alsa_card_cs423x_exit(void) @@ -794,8 +801,9 @@ static void __exit alsa_card_cs423x_exit(void) if (pnp_registered) pnp_unregister_driver(&cs4232_pnp_driver); #endif -#endif /* CONFIG_PNP */ - isa_unregister_driver(&cs423x_isa_driver); + if (isa_registered) +#endif + isa_unregister_driver(&cs423x_isa_driver); } module_init(alsa_card_cs423x_init) diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c index d2a9c7d..f7732bf 100644 --- a/sound/isa/es18xx.c +++ b/sound/isa/es18xx.c @@ -2036,7 +2036,9 @@ module_param_array(dma2, int, NULL, 0444); MODULE_PARM_DESC(dma2, "DMA 2 # for ES18xx driver."); #ifdef CONFIG_PNP -static int pnp_registered, pnpc_registered; +static int isa_registered; +static int pnp_registered; +static int pnpc_registered; static struct pnp_device_id snd_audiodrive_pnpbiosids[] = { { .id = "ESS1869" }, @@ -2466,18 +2468,22 @@ static int __init alsa_card_es18xx_init(void) int err; err = isa_register_driver(&snd_es18xx_isa_driver, SNDRV_CARDS); - if (err < 0) - return err; - #ifdef CONFIG_PNP + if (!err) + isa_registered = 1; + err = pnp_register_driver(&es18xx_pnp_driver); if (!err) pnp_registered = 1; + err = pnp_register_card_driver(&es18xx_pnpc_driver); if (!err) pnpc_registered = 1; + + if (isa_registered || pnp_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_es18xx_exit(void) @@ -2487,8 +2493,9 @@ static void __exit alsa_card_es18xx_exit(void) pnp_unregister_card_driver(&es18xx_pnpc_driver); if (pnp_registered) pnp_unregister_driver(&es18xx_pnp_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_es18xx_isa_driver); + isa_unregister_driver(&snd_es18xx_isa_driver); } module_init(alsa_card_es18xx_init) diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c index 3e46572..0220cdb 100644 --- a/sound/isa/gus/interwave.c +++ b/sound/isa/gus/interwave.c @@ -135,6 +135,7 @@ struct snd_interwave { #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; static struct pnp_card_device_id snd_interwave_pnpids[] = { @@ -934,15 +935,18 @@ static int __init alsa_card_interwave_init(void) int err; err = isa_register_driver(&snd_interwave_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP - /* ISA PnP cards */ + if (!err) + isa_registered = 1; + err = pnp_register_card_driver(&interwave_pnpc_driver); if (!err) pnp_registered = 1; + + if (isa_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_interwave_exit(void) @@ -950,8 +954,9 @@ static void __exit alsa_card_interwave_exit(void) #ifdef CONFIG_PNP if (pnp_registered) pnp_unregister_card_driver(&interwave_pnpc_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_interwave_driver); + isa_unregister_driver(&snd_interwave_driver); } module_init(alsa_card_interwave_init) diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c index 48743eb..61a323c 100644 --- a/sound/isa/opl3sa2.c +++ b/sound/isa/opl3sa2.c @@ -92,6 +92,7 @@ module_param_array(opl3sa3_ymode, int, NULL, 0444); MODULE_PARM_DESC(opl3sa3_ymode, "Speaker size selection for 3D Enhancement mode: Desktop/Large Notebook/Small Notebook/HiFi."); #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; static int pnpc_registered; #endif @@ -967,17 +968,22 @@ static int __init alsa_card_opl3sa2_init(void) int err; err = isa_register_driver(&snd_opl3sa2_isa_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP + if (!err) + isa_registered = 1; + err = pnp_register_driver(&opl3sa2_pnp_driver); if (!err) pnp_registered = 1; + err = pnp_register_card_driver(&opl3sa2_pnpc_driver); if (!err) pnpc_registered = 1; + + if (isa_registered || pnp_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_opl3sa2_exit(void) @@ -987,8 +993,9 @@ static void __exit alsa_card_opl3sa2_exit(void) pnp_unregister_card_driver(&opl3sa2_pnpc_driver); if (pnp_registered) pnp_unregister_driver(&opl3sa2_pnp_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_opl3sa2_isa_driver); + isa_unregister_driver(&snd_opl3sa2_isa_driver); } module_init(alsa_card_opl3sa2_init) diff --git a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c index 2a19b0a..c4ba24b 100644 --- a/sound/isa/sb/sb16.c +++ b/sound/isa/sb/sb16.c @@ -129,6 +129,7 @@ MODULE_PARM_DESC(seq_ports, "Number of sequencer ports for WaveTable synth."); #endif #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; #endif @@ -702,15 +703,18 @@ static int __init alsa_card_sb16_init(void) int err; err = isa_register_driver(&snd_sb16_isa_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP - /* PnP cards at last */ + if (!err) + isa_registered = 1; + err = pnp_register_card_driver(&sb16_pnpc_driver); if (!err) pnp_registered = 1; + + if (isa_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_sb16_exit(void) @@ -718,8 +722,9 @@ static void __exit alsa_card_sb16_exit(void) #ifdef CONFIG_PNP if (pnp_registered) pnp_unregister_card_driver(&sb16_pnpc_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_sb16_isa_driver); + isa_unregister_driver(&snd_sb16_isa_driver); } module_init(alsa_card_sb16_init) diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c index 08c1497..9ea417b 100644 --- a/sound/isa/sscape.c +++ b/sound/isa/sscape.c @@ -69,7 +69,9 @@ module_param_array(dma, int, NULL, 0444); MODULE_PARM_DESC(dma, "DMA # for SoundScape driver."); #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; + static struct pnp_card_device_id sscape_pnpids[] = { { .id = "ENS3081", .devs = { { "ENS0000" } } }, { .id = "" } /* end */ @@ -1405,22 +1407,21 @@ static struct pnp_card_driver sscape_pnpc_driver = { static int __init sscape_init(void) { - int ret; + int err; - /* - * First check whether we were passed any parameters. - * These MUST take precedence over ANY automatic way - * of allocating cards, because the operator is - * S-P-E-L-L-I-N-G it out for us... - */ - ret = isa_register_driver(&snd_sscape_driver, SNDRV_CARDS); - if (ret < 0) - return ret; + err = isa_register_driver(&snd_sscape_driver, SNDRV_CARDS); #ifdef CONFIG_PNP - if (pnp_register_card_driver(&sscape_pnpc_driver) == 0) + if (!err) + isa_registered = 1; + + err = pnp_register_card_driver(&sscape_pnpc_driver); + if (!err) pnp_registered = 1; + + if (isa_registered) + err = 0; #endif - return 0; + return err; } static void __exit sscape_exit(void) @@ -1428,8 +1429,9 @@ static void __exit sscape_exit(void) #ifdef CONFIG_PNP if (pnp_registered) pnp_unregister_card_driver(&sscape_pnpc_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_sscape_driver); + isa_unregister_driver(&snd_sscape_driver); } module_init(sscape_init); diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c index 75673f7..83c2fc4 100644 --- a/sound/isa/wavefront/wavefront.c +++ b/sound/isa/wavefront/wavefront.c @@ -86,6 +86,7 @@ module_param_array(use_cs4232_midi, bool, NULL, 0444); MODULE_PARM_DESC(use_cs4232_midi, "Use CS4232 MPU-401 interface (inaccessibly located inside your computer)"); #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; static struct pnp_card_device_id snd_wavefront_pnpids[] = { @@ -706,14 +707,18 @@ static int __init alsa_card_wavefront_init(void) int err; err = isa_register_driver(&snd_wavefront_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP + if (!err) + isa_registered = 1; + err = pnp_register_card_driver(&wavefront_pnpc_driver); if (!err) pnp_registered = 1; + + if (isa_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_wavefront_exit(void) @@ -721,8 +726,9 @@ static void __exit alsa_card_wavefront_exit(void) #ifdef CONFIG_PNP if (pnp_registered) pnp_unregister_card_driver(&wavefront_pnpc_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_wavefront_driver); + isa_unregister_driver(&snd_wavefront_driver); } module_init(alsa_card_wavefront_init) [-- Attachment #3: Type: text/plain, Size: 160 bytes --] _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: 2.6.22-rc1 lost snd_4236 device @ 2007-05-15 5:42 ` Rene Herman 0 siblings, 0 replies; 8+ messages in thread From: Rene Herman @ 2007-05-15 5:42 UTC (permalink / raw) To: Pete Clements; +Cc: linux-kernel, Takashi Iwai, ALSA devel [-- Attachment #1: Type: text/plain, Size: 607 bytes --] On 05/13/2007 06:23 PM, Pete Clements wrote: > Fyi: > With 2.6.22-rc1 get following when loading sound device module. Introduced > with 2.6.21-git16. > > FATAL: Error inserting snd_cs4236 (/lib/modules/2.6.22-rc1/kernel/sound/isa/cs423x/snd-cs4236.ko): No such device > FATAL: Error running install command for snd_cs4236 Yup; the conversion of the mixed legacy/pnp ALSA drivers to the isa_bus framework is not quite right. Wants the attached. Takashi, this needs to go to Linus. Can you make sure it gets there? This is against -linus HEAD. Signed-off-by: Rene Herman <rene.herman@gmail.com> Rene. [-- Attachment #2: alsa_isa_registered.diff --] [-- Type: text/plain, Size: 10451 bytes --] diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c index 214d65d..f471f8a 100644 --- a/sound/isa/cmi8330.c +++ b/sound/isa/cmi8330.c @@ -109,6 +109,7 @@ module_param_array(wssdma, int, NULL, 0444); MODULE_PARM_DESC(wssdma, "DMA for CMI8330 WSS driver."); #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; #endif @@ -686,14 +687,18 @@ static int __init alsa_card_cmi8330_init(void) int err; err = isa_register_driver(&snd_cmi8330_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP + if (!err) + isa_registered = 1; + err = pnp_register_card_driver(&cmi8330_pnpc_driver); if (!err) pnp_registered = 1; + + if (isa_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_cmi8330_exit(void) @@ -701,8 +706,10 @@ static void __exit alsa_card_cmi8330_exit(void) #ifdef CONFIG_PNP if (pnp_registered) pnp_unregister_card_driver(&cmi8330_pnpc_driver); + + if (isa_registered) #endif - isa_unregister_driver(&snd_cmi8330_driver); + isa_unregister_driver(&snd_cmi8330_driver); } module_init(alsa_card_cmi8330_init) diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c index 87f1392..1a14f33 100644 --- a/sound/isa/cs423x/cs4236.c +++ b/sound/isa/cs423x/cs4236.c @@ -127,6 +127,7 @@ module_param_array(dma2, int, NULL, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for " IDENT " driver."); #ifdef CONFIG_PNP +static int isa_registered; static int pnpc_registered; #ifdef CS4232 static int pnp_registered; @@ -770,9 +771,9 @@ static int __init alsa_card_cs423x_init(void) int err; err = isa_register_driver(&cs423x_isa_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP + if (!err) + isa_registered = 1; #ifdef CS4232 err = pnp_register_driver(&cs4232_pnp_driver); if (!err) @@ -781,8 +782,14 @@ static int __init alsa_card_cs423x_init(void) err = pnp_register_card_driver(&cs423x_pnpc_driver); if (!err) pnpc_registered = 1; -#endif /* CONFIG_PNP */ - return 0; +#ifdef CS4232 + if (pnp_registered) + err = 0; +#endif + if (isa_registered) + err = 0; +#endif + return err; } static void __exit alsa_card_cs423x_exit(void) @@ -794,8 +801,9 @@ static void __exit alsa_card_cs423x_exit(void) if (pnp_registered) pnp_unregister_driver(&cs4232_pnp_driver); #endif -#endif /* CONFIG_PNP */ - isa_unregister_driver(&cs423x_isa_driver); + if (isa_registered) +#endif + isa_unregister_driver(&cs423x_isa_driver); } module_init(alsa_card_cs423x_init) diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c index d2a9c7d..f7732bf 100644 --- a/sound/isa/es18xx.c +++ b/sound/isa/es18xx.c @@ -2036,7 +2036,9 @@ module_param_array(dma2, int, NULL, 0444); MODULE_PARM_DESC(dma2, "DMA 2 # for ES18xx driver."); #ifdef CONFIG_PNP -static int pnp_registered, pnpc_registered; +static int isa_registered; +static int pnp_registered; +static int pnpc_registered; static struct pnp_device_id snd_audiodrive_pnpbiosids[] = { { .id = "ESS1869" }, @@ -2466,18 +2468,22 @@ static int __init alsa_card_es18xx_init(void) int err; err = isa_register_driver(&snd_es18xx_isa_driver, SNDRV_CARDS); - if (err < 0) - return err; - #ifdef CONFIG_PNP + if (!err) + isa_registered = 1; + err = pnp_register_driver(&es18xx_pnp_driver); if (!err) pnp_registered = 1; + err = pnp_register_card_driver(&es18xx_pnpc_driver); if (!err) pnpc_registered = 1; + + if (isa_registered || pnp_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_es18xx_exit(void) @@ -2487,8 +2493,9 @@ static void __exit alsa_card_es18xx_exit(void) pnp_unregister_card_driver(&es18xx_pnpc_driver); if (pnp_registered) pnp_unregister_driver(&es18xx_pnp_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_es18xx_isa_driver); + isa_unregister_driver(&snd_es18xx_isa_driver); } module_init(alsa_card_es18xx_init) diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c index 3e46572..0220cdb 100644 --- a/sound/isa/gus/interwave.c +++ b/sound/isa/gus/interwave.c @@ -135,6 +135,7 @@ struct snd_interwave { #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; static struct pnp_card_device_id snd_interwave_pnpids[] = { @@ -934,15 +935,18 @@ static int __init alsa_card_interwave_init(void) int err; err = isa_register_driver(&snd_interwave_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP - /* ISA PnP cards */ + if (!err) + isa_registered = 1; + err = pnp_register_card_driver(&interwave_pnpc_driver); if (!err) pnp_registered = 1; + + if (isa_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_interwave_exit(void) @@ -950,8 +954,9 @@ static void __exit alsa_card_interwave_exit(void) #ifdef CONFIG_PNP if (pnp_registered) pnp_unregister_card_driver(&interwave_pnpc_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_interwave_driver); + isa_unregister_driver(&snd_interwave_driver); } module_init(alsa_card_interwave_init) diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c index 48743eb..61a323c 100644 --- a/sound/isa/opl3sa2.c +++ b/sound/isa/opl3sa2.c @@ -92,6 +92,7 @@ module_param_array(opl3sa3_ymode, int, NULL, 0444); MODULE_PARM_DESC(opl3sa3_ymode, "Speaker size selection for 3D Enhancement mode: Desktop/Large Notebook/Small Notebook/HiFi."); #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; static int pnpc_registered; #endif @@ -967,17 +968,22 @@ static int __init alsa_card_opl3sa2_init(void) int err; err = isa_register_driver(&snd_opl3sa2_isa_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP + if (!err) + isa_registered = 1; + err = pnp_register_driver(&opl3sa2_pnp_driver); if (!err) pnp_registered = 1; + err = pnp_register_card_driver(&opl3sa2_pnpc_driver); if (!err) pnpc_registered = 1; + + if (isa_registered || pnp_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_opl3sa2_exit(void) @@ -987,8 +993,9 @@ static void __exit alsa_card_opl3sa2_exit(void) pnp_unregister_card_driver(&opl3sa2_pnpc_driver); if (pnp_registered) pnp_unregister_driver(&opl3sa2_pnp_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_opl3sa2_isa_driver); + isa_unregister_driver(&snd_opl3sa2_isa_driver); } module_init(alsa_card_opl3sa2_init) diff --git a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c index 2a19b0a..c4ba24b 100644 --- a/sound/isa/sb/sb16.c +++ b/sound/isa/sb/sb16.c @@ -129,6 +129,7 @@ MODULE_PARM_DESC(seq_ports, "Number of sequencer ports for WaveTable synth."); #endif #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; #endif @@ -702,15 +703,18 @@ static int __init alsa_card_sb16_init(void) int err; err = isa_register_driver(&snd_sb16_isa_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP - /* PnP cards at last */ + if (!err) + isa_registered = 1; + err = pnp_register_card_driver(&sb16_pnpc_driver); if (!err) pnp_registered = 1; + + if (isa_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_sb16_exit(void) @@ -718,8 +722,9 @@ static void __exit alsa_card_sb16_exit(void) #ifdef CONFIG_PNP if (pnp_registered) pnp_unregister_card_driver(&sb16_pnpc_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_sb16_isa_driver); + isa_unregister_driver(&snd_sb16_isa_driver); } module_init(alsa_card_sb16_init) diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c index 08c1497..9ea417b 100644 --- a/sound/isa/sscape.c +++ b/sound/isa/sscape.c @@ -69,7 +69,9 @@ module_param_array(dma, int, NULL, 0444); MODULE_PARM_DESC(dma, "DMA # for SoundScape driver."); #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; + static struct pnp_card_device_id sscape_pnpids[] = { { .id = "ENS3081", .devs = { { "ENS0000" } } }, { .id = "" } /* end */ @@ -1405,22 +1407,21 @@ static struct pnp_card_driver sscape_pnpc_driver = { static int __init sscape_init(void) { - int ret; + int err; - /* - * First check whether we were passed any parameters. - * These MUST take precedence over ANY automatic way - * of allocating cards, because the operator is - * S-P-E-L-L-I-N-G it out for us... - */ - ret = isa_register_driver(&snd_sscape_driver, SNDRV_CARDS); - if (ret < 0) - return ret; + err = isa_register_driver(&snd_sscape_driver, SNDRV_CARDS); #ifdef CONFIG_PNP - if (pnp_register_card_driver(&sscape_pnpc_driver) == 0) + if (!err) + isa_registered = 1; + + err = pnp_register_card_driver(&sscape_pnpc_driver); + if (!err) pnp_registered = 1; + + if (isa_registered) + err = 0; #endif - return 0; + return err; } static void __exit sscape_exit(void) @@ -1428,8 +1429,9 @@ static void __exit sscape_exit(void) #ifdef CONFIG_PNP if (pnp_registered) pnp_unregister_card_driver(&sscape_pnpc_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_sscape_driver); + isa_unregister_driver(&snd_sscape_driver); } module_init(sscape_init); diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c index 75673f7..83c2fc4 100644 --- a/sound/isa/wavefront/wavefront.c +++ b/sound/isa/wavefront/wavefront.c @@ -86,6 +86,7 @@ module_param_array(use_cs4232_midi, bool, NULL, 0444); MODULE_PARM_DESC(use_cs4232_midi, "Use CS4232 MPU-401 interface (inaccessibly located inside your computer)"); #ifdef CONFIG_PNP +static int isa_registered; static int pnp_registered; static struct pnp_card_device_id snd_wavefront_pnpids[] = { @@ -706,14 +707,18 @@ static int __init alsa_card_wavefront_init(void) int err; err = isa_register_driver(&snd_wavefront_driver, SNDRV_CARDS); - if (err < 0) - return err; #ifdef CONFIG_PNP + if (!err) + isa_registered = 1; + err = pnp_register_card_driver(&wavefront_pnpc_driver); if (!err) pnp_registered = 1; + + if (isa_registered) + err = 0; #endif - return 0; + return err; } static void __exit alsa_card_wavefront_exit(void) @@ -721,8 +726,9 @@ static void __exit alsa_card_wavefront_exit(void) #ifdef CONFIG_PNP if (pnp_registered) pnp_unregister_card_driver(&wavefront_pnpc_driver); + if (isa_registered) #endif - isa_unregister_driver(&snd_wavefront_driver); + isa_unregister_driver(&snd_wavefront_driver); } module_init(alsa_card_wavefront_init) ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: 2.6.22-rc1 lost snd_4236 device 2007-05-15 5:42 ` Rene Herman @ 2007-05-15 10:38 ` Takashi Iwai -1 siblings, 0 replies; 8+ messages in thread From: Takashi Iwai @ 2007-05-15 10:38 UTC (permalink / raw) To: Rene Herman; +Cc: ALSA devel, Pete Clements, linux-kernel At Tue, 15 May 2007 07:42:41 +0200, Rene Herman wrote: > > [1 <text/plain; ISO-8859-15 (7bit)>] > On 05/13/2007 06:23 PM, Pete Clements wrote: > > > Fyi: > > With 2.6.22-rc1 get following when loading sound device module. Introduced > > with 2.6.21-git16. > > > > FATAL: Error inserting snd_cs4236 (/lib/modules/2.6.22-rc1/kernel/sound/isa/cs423x/snd-cs4236.ko): No such device > > FATAL: Error running install command for snd_cs4236 > > Yup; the conversion of the mixed legacy/pnp ALSA drivers to the isa_bus > framework is not quite right. Wants the attached. Grr, forgot about the error return at probe. > Takashi, this needs to go to Linus. Can you make sure it gets there? This is > against -linus HEAD. > > Signed-off-by: Rene Herman <rene.herman@gmail.com> Thanks. I applied it to ALSA tree so that it will be queued in the next push round. Takashi ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.22-rc1 lost snd_4236 device @ 2007-05-15 10:38 ` Takashi Iwai 0 siblings, 0 replies; 8+ messages in thread From: Takashi Iwai @ 2007-05-15 10:38 UTC (permalink / raw) To: Rene Herman; +Cc: Pete Clements, linux-kernel, ALSA devel At Tue, 15 May 2007 07:42:41 +0200, Rene Herman wrote: > > [1 <text/plain; ISO-8859-15 (7bit)>] > On 05/13/2007 06:23 PM, Pete Clements wrote: > > > Fyi: > > With 2.6.22-rc1 get following when loading sound device module. Introduced > > with 2.6.21-git16. > > > > FATAL: Error inserting snd_cs4236 (/lib/modules/2.6.22-rc1/kernel/sound/isa/cs423x/snd-cs4236.ko): No such device > > FATAL: Error running install command for snd_cs4236 > > Yup; the conversion of the mixed legacy/pnp ALSA drivers to the isa_bus > framework is not quite right. Wants the attached. Grr, forgot about the error return at probe. > Takashi, this needs to go to Linus. Can you make sure it gets there? This is > against -linus HEAD. > > Signed-off-by: Rene Herman <rene.herman@gmail.com> Thanks. I applied it to ALSA tree so that it will be queued in the next push round. Takashi ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.22-rc1 lost snd_4236 device 2007-05-15 10:38 ` Takashi Iwai @ 2007-05-15 13:48 ` Pete Clements -1 siblings, 0 replies; 8+ messages in thread From: Pete Clements @ 2007-05-15 13:48 UTC (permalink / raw) To: Takashi Iwai; +Cc: Rene Herman, Pete Clements, linux-kernel, ALSA devel Quoting Takashi Iwai > At Tue, 15 May 2007 07:42:41 +0200, > Rene Herman wrote: > > > > [1 <text/plain; ISO-8859-15 (7bit)>] > > On 05/13/2007 06:23 PM, Pete Clements wrote: > > > > > Fyi: > > > With 2.6.22-rc1 get following when loading sound device module. Introduced > > > with 2.6.21-git16. > > > > > > FATAL: Error inserting snd_cs4236 (/lib/modules/2.6.22-rc1/kernel/sound/isa/cs423x/snd-cs4236.ko): No such device > > > FATAL: Error running install command for snd_cs4236 > > > > Yup; the conversion of the mixed legacy/pnp ALSA drivers to the isa_bus > > framework is not quite right. Wants the attached. > > Grr, forgot about the error return at probe. > > > Takashi, this needs to go to Linus. Can you make sure it gets there? This is > > against -linus HEAD. > > > > Signed-off-by: Rene Herman <rene.herman@gmail.com> > > Thanks. I applied it to ALSA tree so that it will be queued in the > next push round. > > > Takashi > - Applied patch. Module loads. -- Pete Clements ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: 2.6.22-rc1 lost snd_4236 device @ 2007-05-15 13:48 ` Pete Clements 0 siblings, 0 replies; 8+ messages in thread From: Pete Clements @ 2007-05-15 13:48 UTC (permalink / raw) To: Takashi Iwai; +Cc: Rene Herman, Pete Clements, linux-kernel, ALSA devel Quoting Takashi Iwai > At Tue, 15 May 2007 07:42:41 +0200, > Rene Herman wrote: > > > > [1 <text/plain; ISO-8859-15 (7bit)>] > > On 05/13/2007 06:23 PM, Pete Clements wrote: > > > > > Fyi: > > > With 2.6.22-rc1 get following when loading sound device module. Introduced > > > with 2.6.21-git16. > > > > > > FATAL: Error inserting snd_cs4236 (/lib/modules/2.6.22-rc1/kernel/sound/isa/cs423x/snd-cs4236.ko): No such device > > > FATAL: Error running install command for snd_cs4236 > > > > Yup; the conversion of the mixed legacy/pnp ALSA drivers to the isa_bus > > framework is not quite right. Wants the attached. > > Grr, forgot about the error return at probe. > > > Takashi, this needs to go to Linus. Can you make sure it gets there? This is > > against -linus HEAD. > > > > Signed-off-by: Rene Herman <rene.herman@gmail.com> > > Thanks. I applied it to ALSA tree so that it will be queued in the > next push round. > > > Takashi > - Applied patch. Module loads. -- Pete Clements ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-05-15 13:49 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-05-13 16:23 2.6.22-rc1 lost snd_4236 device Pete Clements 2007-05-14 8:16 ` Takashi Iwai 2007-05-15 5:42 ` Rene Herman 2007-05-15 5:42 ` Rene Herman 2007-05-15 10:38 ` Takashi Iwai 2007-05-15 10:38 ` Takashi Iwai 2007-05-15 13:48 ` Pete Clements 2007-05-15 13:48 ` Pete Clements
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.