Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d1d051b2 authored by Adam Belay's avatar Adam Belay Committed by Jaroslav Kysela
Browse files

[ALSA] check return code in pnp_register_card_driver()



Signed-off-by: default avatarAdam Belay <ambx1@neo.rr.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent ec80859e
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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);