>> @@ -1121,30 +1121,27 @@ static int snd_via82xx_create(struct snd_card *card, >> >> if ((err = pci_request_regions(pci, card->driver)) < 0) { >> kfree(chip); >> - pci_disable_device(pci); >> - return err; >> + goto disable_device; >> } > > [ snip ] > >> @@ -1153,6 +1150,14 @@ static int snd_via82xx_create(struct snd_card *card, >> >> *r_via = chip; >> return 0; >> + >> +disable_device: >> + pci_disable_device(pci); >> + goto exit; > > Why is this "goto exit" here? Should the same return statement be reached after the proposed refactoring? Would you like to move such a function call to this source code place? > It's leaking now. How do you come to this conclusion? >> +free_chip: >> + snd_via82xx_free(chip); >> +exit: >> + return err; >> } Is this update suggestion worth for another look? Regards, Markus _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel