From 6b15781f8c1639ba94e91489e0d78599b6f9d728 Mon Sep 17 00:00:00 2001 From: Bjorn Helgaas Date: Mon, 27 Mar 2006 01:17:12 -0800 Subject: [PATCH] --- yaml --- r: 24356 b: refs/heads/master c: 6736a6587b991477aae927c37176e8cab8689f9e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/sound/isa/dt019x.c | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 6f4c1537ee12..b1ac8121e611 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 07d58ad06b46e630a5ff6b10e9b81f370b175b56 +refs/heads/master: 6736a6587b991477aae927c37176e8cab8689f9e diff --git a/trunk/sound/isa/dt019x.c b/trunk/sound/isa/dt019x.c index 50e7bc5ef561..0acb4e5da47f 100644 --- a/trunk/sound/isa/dt019x.c +++ b/trunk/sound/isa/dt019x.c @@ -272,6 +272,8 @@ static int __devinit snd_card_dt019x_probe(int dev, struct pnp_card_link *pcard, return 0; } +static unsigned int __devinitdata dt019x_devices; + static int __devinit snd_dt019x_pnp_probe(struct pnp_card_link *card, const struct pnp_card_device_id *pid) { @@ -285,6 +287,7 @@ static int __devinit snd_dt019x_pnp_probe(struct pnp_card_link *card, if (res < 0) return res; dev++; + dt019x_devices++; return 0; } return -ENODEV; @@ -336,10 +339,13 @@ static struct pnp_card_driver dt019x_pnpc_driver = { static int __init alsa_card_dt019x_init(void) { - int cards = 0; + int err; + + err = pnp_register_card_driver(&dt019x_pnpc_driver); + if (err) + return err; - cards = pnp_register_card_driver(&dt019x_pnpc_driver); - if (cards <= 0) { + if (!dt019x_devices) { pnp_unregister_card_driver(&dt019x_pnpc_driver); #ifdef MODULE snd_printk(KERN_ERR "no DT-019X / ALS-007 based soundcards found\n");