[ALSA] make snd-powermac load even when it can't bind the device
This patch makes snd-powermac load when it can't bind the device right away. That's the expected behaviour for hotplugging, but fixes an important problem I was seeing with doing a modprobe snd-powermac with a version that refuses loading on machines with layout-id: snd-powermac would create a bunch of uevents and then refuse to load, the uevents causing udev to reload it again, ad eternum. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This commit is contained in:
Родитель
6e8331ac69
Коммит
545b07d362
|
@ -181,21 +181,14 @@ static int __init alsa_card_pmac_init(void)
|
|||
if ((err = platform_driver_register(&snd_pmac_driver)) < 0)
|
||||
return err;
|
||||
device = platform_device_register_simple(SND_PMAC_DRIVER, -1, NULL, 0);
|
||||
if (!IS_ERR(device)) {
|
||||
if (platform_get_drvdata(device))
|
||||
return 0;
|
||||
platform_device_unregister(device);
|
||||
err = -ENODEV;
|
||||
} else
|
||||
err = PTR_ERR(device);
|
||||
platform_driver_unregister(&snd_pmac_driver);
|
||||
return err;
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
static void __exit alsa_card_pmac_exit(void)
|
||||
{
|
||||
platform_device_unregister(device);
|
||||
if (!IS_ERR(device))
|
||||
platform_device_unregister(device);
|
||||
platform_driver_unregister(&snd_pmac_driver);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче