22 Aug
2017
22 Aug
'17
9:07 p.m.
On Tue, Aug 22, 2017 at 07:43:08PM +0200, SF Markus Elfring wrote:
@@ -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? It's leaking now.
+free_chip: + snd_via82xx_free(chip); +exit: + return err; }
regards, dan carpenter