diff options
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-alsa.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-alsa.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/drivers/media/video/saa7134/saa7134-alsa.c b/drivers/media/video/saa7134/saa7134-alsa.c index 4878f3067787..ba2531034a91 100644 --- a/drivers/media/video/saa7134/saa7134-alsa.c +++ b/drivers/media/video/saa7134/saa7134-alsa.c | |||
@@ -1077,24 +1077,14 @@ static int saa7134_alsa_init(void) | |||
1077 | struct saa7134_dev *dev = NULL; | 1077 | struct saa7134_dev *dev = NULL; |
1078 | struct list_head *list; | 1078 | struct list_head *list; |
1079 | 1079 | ||
1080 | if (!saa7134_dmasound_init && !saa7134_dmasound_exit) { | 1080 | saa7134_dmasound_init = alsa_device_init; |
1081 | saa7134_dmasound_init = alsa_device_init; | 1081 | saa7134_dmasound_exit = alsa_device_exit; |
1082 | saa7134_dmasound_exit = alsa_device_exit; | ||
1083 | } else { | ||
1084 | printk(KERN_WARNING "saa7134 ALSA: can't load, DMA sound handler already assigned (probably to OSS)\n"); | ||
1085 | return -EBUSY; | ||
1086 | } | ||
1087 | 1082 | ||
1088 | printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n"); | 1083 | printk(KERN_INFO "saa7134 ALSA driver for DMA sound loaded\n"); |
1089 | 1084 | ||
1090 | list_for_each(list,&saa7134_devlist) { | 1085 | list_for_each(list,&saa7134_devlist) { |
1091 | dev = list_entry(list, struct saa7134_dev, devlist); | 1086 | dev = list_entry(list, struct saa7134_dev, devlist); |
1092 | if (dev->dmasound.priv_data == NULL) { | 1087 | alsa_device_init(dev); |
1093 | alsa_device_init(dev); | ||
1094 | } else { | ||
1095 | printk(KERN_ERR "saa7134 ALSA: DMA sound is being handled by OSS. ignoring %s\n",dev->name); | ||
1096 | return -EBUSY; | ||
1097 | } | ||
1098 | } | 1088 | } |
1099 | 1089 | ||
1100 | if (dev == NULL) | 1090 | if (dev == NULL) |