From: Markus Elfring elfring@users.sourceforge.net Date: Sat, 18 Nov 2017 22:10:19 +0100
Add a jump target so that a bit of exception handling can be better reused at the end of this function.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring elfring@users.sourceforge.net --- sound/pci/cs5530.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/sound/pci/cs5530.c b/sound/pci/cs5530.c index 0a8cf94c4858..674572edf2d2 100644 --- a/sound/pci/cs5530.c +++ b/sound/pci/cs5530.c @@ -269,23 +269,24 @@ static int snd_cs5530_probe(struct pci_dev *pci, return err;
err = snd_cs5530_create(card, pci, &chip); - if (err < 0) { - snd_card_free(card); - return err; - } + if (err < 0) + goto free_card;
strcpy(card->driver, "CS5530"); strcpy(card->shortname, "CS5530 Audio"); sprintf(card->longname, "%s at 0x%lx", card->shortname, chip->pci_base);
err = snd_card_register(card); - if (err < 0) { - snd_card_free(card); - return err; - } + if (err < 0) + goto free_card; + pci_set_drvdata(pci, card); dev++; return 0; + +free_card: + snd_card_free(card); + return err; }
static struct pci_driver cs5530_driver = {