diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2022-06-20 06:31:53 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@kernel.org> | 2022-06-27 09:16:05 +0100 |
commit | 978bbc392c51e0ece959978daa0ad7fb4dd7f932 (patch) | |
tree | 29f798301f15b4d9548626cd6e3c4046ac61bbf4 /drivers/media/pci/tw686x | |
parent | e5833b56f75dbf70b8c446fc3b0b2c3814d50e67 (diff) |
media: tw686x: Fix an error handling path in tw686x_probe()
The commit in Fixes: is incomplete. It has moved some code in the probe but
not all error handling paths have been updated.
Now, if request_irq() fails, we must release some resources.
Fixes: c8946454ed96 ("media: tw686x: Register the irq at the end of probe")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'drivers/media/pci/tw686x')
-rw-r--r-- | drivers/media/pci/tw686x/tw686x-core.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/media/pci/tw686x/tw686x-core.c b/drivers/media/pci/tw686x/tw686x-core.c index 384d38754a4b..c53099c958ca 100644 --- a/drivers/media/pci/tw686x/tw686x-core.c +++ b/drivers/media/pci/tw686x/tw686x-core.c @@ -337,12 +337,15 @@ static int tw686x_probe(struct pci_dev *pci_dev, dev->name, dev); if (err < 0) { dev_err(&pci_dev->dev, "unable to request interrupt\n"); - goto iounmap; + goto tw686x_free; } pci_set_drvdata(pci_dev, dev); return 0; +tw686x_free: + tw686x_video_free(dev); + tw686x_audio_free(dev); iounmap: pci_iounmap(pci_dev, dev->mmio); free_region: |