[ALSA] check return code in pnp_register_card_driver()

Signed-off-by: Adam Belay <ambx1@neo.rr.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Adam Belay 2006-01-20 09:29:27 +01:00 committed by Jaroslav Kysela
parent ec80859ed2
commit d1d051b28e
1 changed files with 7 additions and 2 deletions

View File

@ -363,7 +363,7 @@ static int card_resume(struct pnp_dev *dev)
int pnp_register_card_driver(struct pnp_card_driver * drv)
{
int count = 0;
int count;
struct list_head *pos, *temp;
drv->link.name = drv->name;
@ -374,10 +374,15 @@ int pnp_register_card_driver(struct pnp_card_driver * drv)
drv->link.suspend = drv->suspend ? card_suspend : NULL;
drv->link.resume = drv->resume ? card_resume : NULL;
count = pnp_register_driver(&drv->link);
if (count < 0)
return count;
spin_lock(&pnp_lock);
list_add_tail(&drv->global_list, &pnp_card_drivers);
spin_unlock(&pnp_lock);
pnp_register_driver(&drv->link);
count = 0;
list_for_each_safe(pos,temp,&pnp_cards){
struct pnp_card *card = list_entry(pos, struct pnp_card, global_list);