From: Adam Belay Date: Fri, 20 Jan 2006 08:29:27 +0000 (+0100) Subject: [ALSA] check return code in pnp_register_card_driver() X-Git-Tag: v2.6.16-rc2~1^2~7^2~18 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=d1d051b28e9d3c3bed0bd15a2b49df3d04f7768f;p=linux-2.6-omap-h63xx.git [ALSA] check return code in pnp_register_card_driver() Signed-off-by: Adam Belay Signed-off-by: Takashi Iwai --- diff --git a/drivers/pnp/card.c b/drivers/pnp/card.c index 0ecbe4edbec..aaa568a3806 100644 --- a/drivers/pnp/card.c +++ b/drivers/pnp/card.c @@ -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);